我想用一个以 log4j 为模型的记录器替换我当前记录 native C++ 代码的记录器。我打算让记录器创建一个格式化为 log4j 格式的日志,以便可以使用 Log4View 查看器查看它。
我正在寻找诸如每种方法的优缺点以及它们之间的差异等信息。
即任何已知的内存泄漏?任何可以报告的性能测试?有哪些已知问题需要考虑?
最佳答案
从我最初的研究中,我发现了以下内容:
Log4cxx: https://logging.apache.org/log4cxx/
- 目前正在孵化 - 没有正式发布
- 过去 12 年更新/错误修复一次,最后一次发布是 2008 年
- 用户可以选择不同的日志级别 - TRACE、DEBUG、INFO、WARN、ERROR 和 FATAL
- 分层记录器
- 可以异步记录
- 支持多个附加程序
- 用户可以选择启用或禁用记录器
- 日志可以发送到不同的和多个输出目标
- 用户选择的输出格式
- 有据可查
- 根据 Apache 许可证获得许可,这是一种由 Open Source Initiative 认证的开源许可证
- 需要 Apache 可移植运行时 (APR)
Log4cplus: https://sourceforge.net/projects/log4cplus/
- 定期更新/错误修复 - 最新版本是 2017 年 2 月
- 用户可以选择不同的日志级别 - TRACE、DEBUG、INFO、WARN、ERROR 和 FATAL
- 分层记录器
- 支持多线程应用程序,但从异步信号的处理程序中使用并不安全
- 用户选择的输出格式:SimpleLayout、PatternLayout、TTCCLayout
- 支持多个记录器
- 没有很好的记录
- 根据 Apache License V2.0 获得许可
Log4cpp: https://sourceforge.net/projects/log4cpp/
- 错误修复大约每年一次,最后一次发布是 2016 年 8 月
- 支持多线程应用程序
- 没有明确的文档存在
- 自 0.2.1 版起已根据 GNU 宽通用公共(public)许可证 (LGPL) 获得许可,在此之前已根据 GPL 发布。
关于c++ - 基于 log4j 的记录器 : log4cpp vs log4cplus vs log4cxx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36177395/