Log4cplus真的这么慢吗?

时间:2011-09-07 18:04:22

标签: c++ performance logging pantheios log4cplus

我一直在用C ++测试我的日志记录子系统的三个选项。一个是Log4cplus,一个是Pantheios,最后一个是我们自己编写的简单日志库。

Log4cplus比其他两个慢得多。以下是记录1,000,000个日志条目的结果:

  • log4cplus: 200 秒编辑:将缓冲区大小设置为 120
  • mylogger:55秒
  • Pantheios: 35

我想知道我是否缺少任何性能调整。

我应该补充一点,我总是使用root logger,我正在登录文件并记录: LOG4CPLUS_INFO(rootLogger, "Replace me with the text!");

感谢, 礼

1 个答案:

答案 0 :(得分:12)

log4cplus::NullAppender中使用performance_test在半载FreeBSD服务器上给我Logging 1000000 took: 4sec 343709usec。 IOW,纯日志开销相当小。您的日志记录时间似乎取决于目标记录器。如果您使用的是log4cplus::FileAppender,则时间会有很大差异。

编辑:

您需要稍微调整FileAppender。确保将ImmediateFlush属性设置为false。您还可以将BufferSize设置为更大的值,例如1000000字节。