当前位置:编程学习 > C/C++ >>

简易C/C++日志

C/C++没有标准的日志库,很多人使用printf直接代替。但它有个缺点,就是不能对输出信息进行分级控制。使用log4cpp等似乎太重量级了。这里我给一个我自己经常使用的几个简单的日志函数

[cpp]
#include <stdio.h> 
#if defined(DEBUG) 
#define debug(...) {fprintf(stderr, __VA_ARGS__); fflush(stderr);} 
#else 
#define debug(...) 
#endif  
 
#if defined(DEBUG) || defined(INFO) 
#define info(...) { fprintf(stderr, __VA_ARGS__); fflush(stderr);} 
#else 
#define info(...) 
#endif 
 
#if defined(DEBUG) || defined(INFO) || defined(ERROR) 
#define error(...) { fprintf(stderr, __VA_ARGS__); fflush(stderr);} 
#else 
#define error(...)  
#endif 
 
 
main() 

    debug("1 %d\n", 23); 
    info("2 %d\n", 23); 
    error("3 %d\n", 23); 

在makefile或工程中定义DEBUG、INFO或ERROR分别指定不同的输出级别,如果不定义则什么也不输出。 


摘自  ani_di的专栏
 
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,