14

我想用一个以 log4j 为模型的记录器替换我当前记录本机 C++ 代码的记录器。我打算让记录器创建一个格式化为 log4j 格式的日志,以便可以使用 Log4View 查看器查看它。

我正在寻找诸如每种方法的优缺点以及它们之间的差异等信息。

即任何已知的内存泄漏?任何可以报告的性能测试?有哪些已知问题需要考虑?

4

1 回答 1

34

从我最初的研究中,我发现了以下内容:

Log4cxx: https ://logging.apache.org/log4cxx/

  • 目前正在孵化 - 没有正式发布
  • 过去 12 年更新/错误修复一次,最后一次发布是 2008 年
  • 用户可以选择不同的日志级别——TRACE、DEBUG、INFO、WARN、ERROR 和 FATAL
  • 分层记录器
  • 可以异步记录
  • 支持多个附加程序
  • 用户可以选择启用或禁用记录器
  • 日志可以发送到不同的和多个输出目标
  • 用户选择的输出格式
  • 有据可查
  • 根据 Apache 许可证获得许可,Apache 许可证是由 Open Source Initiative 认证的开源许可证
  • 需要 Apache 可移植运行时 (APR)

Log4cplus: https ://sourceforge.net/projects/log4cplus/

  • 定期更新/错误修复 - 最后一个版本是 2017 年 2 月
  • 用户可以选择不同的 LogLevels – 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 宽松通用公共许可证 (LGPL) 获得许可,在此之前已根据 GPL 发布。
于 2016-03-23T13:45:51.570 回答