Log4cplus真的这么慢吗?

Rez*_*lus 8 c++ performance logging pantheios log4cplus

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

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

  • log4cplus:200秒编辑:设置缓冲区大小减少到120秒
  • mylogger:55秒
  • Pantheios:35秒

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

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

谢谢,Reza

wil*_*ilx 12

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

编辑:

你需要FileAppender稍微调整一下.确保将该ImmediateFlush属性设置为false.你也可以设置BufferSize更大的东西,比如1000000字节.