"); //-->
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
int g_nMizarLogLevel = 1;
void trace_info(const char* format,const int level,const char* file, int line, const char* func,  ...);
// #define LOGV(format, arg...)  trace_info(format, 4, __FILE__, __LINE__, __func__, ##arg);
// #define LOGD(format, arg...)  trace_info(format, 4, __FILE__, __LINE__, __func__, ##arg);
// #define LOGI(format, arg...)  trace_info(format, 3, __FILE__, __LINE__, __func__, ##arg);
// #define LOGW(format, arg...)  trace_info(format, 2, __FILE__, __LINE__, __func__, ##arg);
// #define LOGE(format, arg...)  trace_info(format, 1, __FILE__, __LINE__, __func__, ##arg);
// #define LOGF(format, arg...)  trace_info(format, 1, __FILE__, __LINE__, __func__, ##arg);
#define LOGD(format, ...) port_printf(format, ##__VA_ARGS__)
//#define LOG_TRACE(format, level, file, line, func, ...)  port_printf("\n%s - %s(%d) - %s: ",format, level, file, line, func, ##__VA_ARGS__)
#define LOG_TRACE(format, level, file, line, func, arg...)  trace_info(format, level, file, line, func)//好奇怪这样就可以了。
#define LOGW(format, ...)  LOG_TRACE(format, 2, __FILE__, __LINE__, __func__, __VA_ARGS__)
void port_printf(const char *format, ...){
    va_list args;
    va_start(args, format);
    vprintf(format, args);
    va_end(args);
}
void trace_info(const char* format,const int level,const char* file, int line, const char* func,  ...)
{
    
    if (g_nMizarLogLevel < level)
    {
        return;
    }
    fprintf(stdout, "%d :[%s:%d]%s: ",level, file, line, func);
    va_list vaList;
    va_start(vaList, format);
    vfprintf(stdout, format, vaList);
    va_end(vaList);
    fprintf(stdout, "%c", '\n');
}
int main(int argc, char *argv[])
{
    LOGD("hello \n");
    LOGW("log warning test \n");
    return 0;
}*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。