一、简介
log4cpp是一个开源的C++类库,它提供了在C++程序中使用日志和跟踪调试的功能。使用log4cpp,可以很便利地将日志或者跟踪调试信息写入字符流、内存字符串队列、文件、回滚文件、调试器、Windows日志、syslog和远程syslog服务器中。
Log4cpp是个基于LGPL的开源项目,移植自Java的日志处理跟踪项目log4j,并保持了API上的一致。其类似的支持库还包括Java(log4j),C++(log4cpp、log4cplus),C(log4c),python(log4p)等。
log4cpp有如下优点:
• 提供了可扩展的多种日志记录方式;
• 提供了NDC(嵌套诊断上下文),可用于多线程、多场景的跟踪调试;
• 提供了完整的日志动态优先级控制,可随时调整需要记录的日志优先级;
• 可通过配置文件完成所有配置并动态加载;
• 性能优秀,内存占用小,经过编译后的log4cpp.dll大小仅有160kb;
• 代码级的平台无关性,Log4cpp源代码经过编译后,适用于大多数主流的操作系统和开发工具;
• 概念清晰,学习和使用方便,熟练程序员一天之内即可很好地应用log4cpp进行开发。