int tools_print(void *net, const char *format, ...)
{
    #define BUF_LEN  1024
    va_list ap;
    char buf[BUF_LEN];
    
    va_start(ap, format);
    OS_VSNPRINTF(buf, BUF_LEN, format, ap);
    va_end(ap);

    printf("%s", buf);

    return 0;
}
Esempio n. 2
0
void log_trace(void *log, uint32_t pid, uint32_t level, const char *format, ...)
{
    log_t *tmp_log = (log_t *)log;
    va_list ap;

    if ((NULL == tmp_log) || (pid >= PIDS_NUM) || (level > tmp_log->levels[pid])
        || (0 == (tmp_log->mode & LOG_TO_SCNFILE))
        || ((0 == (tmp_log->mode & LOG_TO_SCREEN)) && (NULL == tmp_log->disk_hnd)))
    {
        return;
    }

    OS_RWLOCK_WRLOCK(&tmp_log->rwlock);
    
    os_get_date_time_string(tmp_log->date_time, DATA_TIME_STR_LEN);

    va_start(ap, format);
    OS_VSNPRINTF(tmp_log->buf, BUF_LEN, format, ap);
    va_end(ap);

    if (0 != (tmp_log->mode & LOG_TO_SCREEN))
    {
        //OS_PRINT("%s %s", tmp_log->date_time, tmp_log->buf);
    }
    
    if (NULL != tmp_log->disk_hnd)
    {
        os_file_printf(tmp_log->disk_hnd, "%s %s", tmp_log->date_time, tmp_log->buf);
        tmp_log->total_lines++;
    }
    
    
    OS_RWLOCK_WRUNLOCK(&tmp_log->rwlock);
    
    if (tmp_log->total_lines > MAX_FILE_LINES)
    {
        backup_log(tmp_log);
    }
}