基于log4j的记录器:log4cpp vs log4cplus vs log4cxx

时间:2016-03-23 11:49:39

标签: c++ logging log4cxx log4cplus log4cpp

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

我正在寻找各自的优点/缺点以及它们之间的差异等信息。

即。任何已知的内存泄漏?任何可以报告的性能测试?任何已知的问题应该加以考虑?

1 个答案:

答案 0 :(得分:28)

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

<强> Log4cxx: https://logging.apache.org/log4cxx/

  • 目前正在进行孵化 - 没有官方发布
  • 更新/错误修复过去12年一次,最后一次发布是2008年
  • 用户可以选择不同的LogLevels - TRACE,DEBUG,INFO,WARN,ERROR和FATAL
  • 分层记录器
  • 可以异步登录
  • 支持多个appender
  • 用户可以选择启用或禁用记录器
  • 日志可以发送到不同的多个输出目标
  • 用户选择的输出格式
  • 记录良好
  • 根据Apache许可证获得许可,该许可证是开源计划认证的开源许可证
  • 需要Apache Portable Runtime(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月
  • 支持多线程应用程序
  • 没有明确的文件存在
  • 根据GNU宽通用公共许可证(LGPL)从版本0.2.1获得许可,之前已根据GPL发布。