#include <time.h>
#define DEBUG 1
time_t timep;
struct tm *p;
如何声明:
#define DEBUG_PRINT_WITH_TIME(fmt, args...) { \
do \
{ \
if (DEBUG == 1 ) \
{ \
time(&timep); \
p=localtime(&timep); \
fprintf(stdout, "[%4d-%02d-%02d %02d:%02d:%02d] FILE: %s, LINE: %d, FUNC: %s. ", \
(1900+p->tm_year), \
(1+p->tm_mon), \
p->tm_mday, \
p->tm_hour, \
p->tm_min, \
p->tm_sec, \
__FILE__, \
__LINE__, \
__FUNCTION__); \
fprintf(stdout, fmt"\n", ##args); \
} \
} \
while(0); \
}
调用方法:
print_log("argc: %d",argc);
结果显示:
[2016-03-13 08:31:07] FILE: clicks.c, LINE: 537, FUNC: main. argc: 1
注:DEBUG定义为1的时候,日志开关为打开状态,否则不打印日志信息。