您的位置:首页 > 其它

打印日志的宏,分级输出

2012-08-01 00:00 253 查看
前阵子写的一个打印日志的宏,感觉不是很好用,但是可以分级输出。后期可以加入编译宏,可以方便发布debug版本和release版本。

代码如下:

#define YY_NOTICE 0
#define YY_WARNING 1
#define YY_ERROR 2
#define YYLOG(LEVEL, fmt, ...)\
do {\
if (YY_NOTICE == LEVEL)\
fprintf(stdout, "NOTICE:[%s]:[%d]:"fmt, __FILE__, __LINE__ , ##__VA_ARGS__);\
else if (YY_WARNING == LEVEL)\
fprintf(stdout, "WARNING:[%s]:[%d]:"fmt, __FILE__, __LINE__ , ##__VA_ARGS__);\
else if (YY_ERROR == LEVEL)\
fprintf(stderr, "ERROR:[%s]:[%d]:"fmt, __FILE__, __LINE__ , ##__VA_ARGS__);\
} while(0)


调用例子:

YYLOG(YY_ERROR, "open data file error\n");
int i = 0;
YYLOG(YY_NOTICE, "value is [%d]\n", i);
/* just like printf, actually I wrapped the fprintf */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  打印日志