printf log等级的实现

#define LOG_OFF             0 // close all log
#define LOG_ERROR           1
#define LOG_WARN            2
#define LOG_DEBUG           3
#define LOG_INFO            4

 

int g_current_dbg_level = LOG_DEBUG;

#define IOT_PRINT_RAW(Level, _fmt, ...)\
{\
    if (Level <= g_current_dbg_level)\
    {\
        printf(_fmt, ##__VA_ARGS__);\
    }\
}

 

#define PRINTE(Fmt, ...)           \
{                                   \
    IOT_PRINT_RAW(LOG_ERROR, Fmt, ##__VA_ARGS__);                  \
}

#define PRINTW(Fmt, ...)           \
{                                   \
    IOT_PRINT_RAW(LOG_WARN, Fmt, ##__VA_ARGS__);                  \
}

#define PRINTD(Fmt, ...)           \
{                                   \
    IOT_PRINT_RAW(LOG_DEBUG, Fmt, ##__VA_ARGS__);                  \
}

#define PRINTI(Fmt, ...)           \
{                                   \
    IOT_PRINT_RAW(LOG_INFO, Fmt, ##__VA_ARGS__);                  \
}


 

 

你可能感兴趣的:(skill)