您的位置:首页 > 其它

如何在程序中写log日志(定义log级别:error,warn, info, debug; 宏定义打印不同级别的日志; 程序中引用宏定义即可)

2015-06-01 10:51 716 查看
#include <stdio.h>
#include <stdlib.h>
#define  global_debug 2
#define global_progname "MYLOG"

enum
{
ERROR,
WARN,
INFO,
DEBUG,
};

#define debug(OUT, STR, ARGS...)  \
if (global_debug >= DEBUG) \
fprintf(stdout, "%s - DEBUG: [%lli] ", global_progname, (long long)getpid()),\
fprintf(OUT, STR, ##ARGS), fflush(OUT)

#define info(OUT, STR, ARGS...)  \
if (global_debug >= INFO) \
fprintf(stdout, "%s - INFO: [%lli] ", global_progname, (long long)getpid()),\
fprintf(OUT, STR, ##ARGS), fflush(OUT)

#define warn(OUT, STR, ARGS...)  \
if (global_debug >= WARN) \
fprintf(stdout, "%s - WARN: [%lli] (line: %d) ", global_progname, (long long)getpid(),__LINE__ ),\
fprintf(OUT, STR, ##ARGS), fflush(OUT)

#define error(OUT, STR, ARGS...)  \
if (global_debug >= ERROR) \
fprintf(stdout, "%s - ERROR: [%lli](line: %d) ", global_progname, (long long)getpid(), __LINE__),\
fprintf(OUT, STR, ##ARGS), fflush(OUT)

int main()
{
char *buff;
buff = (char*)malloc(sizeof(char) * 1024);
if (buff == NULL)
{
error(stdout, "buff address = %p\n", buff);
}
else
{
info(stdout, "malloc buff addres = %p\n\n", buff);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: