C ++日志框架建议

时间:2009-11-15 01:43:08

标签: c++ logging

我正在寻找具有以下功能的C ++日志记录框架:

  • 日志具有严重性(信息,警告,错误,严重等)
  • 日志标有模块名称
  • 框架有一个UI(或CLI),用于配置我们将实际登录到文件的模块,以及将日志写入文件所需的最低严重性。
  • 有一个查看器,可让我搜索每个模块,严重性,模块名称,错误名称等

6 个答案:

答案 0 :(得分:11)

不确定UI或CLI的配置。我已经在某一点或其他地方使用过这两种日志框架。

https://sourceforge.net/projects/log4cplus/
https://logging.apache.org/log4cxx/index.html

根据可以手动编辑或通过快速而脏的GUI或CLI应用程序编辑的配置文件来驱动日志记录并不太难。可能有点难以动态调整这些但不是太糟糕。

更新

看起来提议的Boost.Log现在位于Boost 1.54,它处于稳定版本。如果你已经在使用Boost,那么我会看看它。

答案 1 :(得分:5)

没有观众,但您可以尝试pantheios。我已经使用它近一年了,我很满意。

答案 2 :(得分:4)

我强烈建议Pantheios,因为它是唯一一个完全类型安全的,也是very efficient。它在用户选择正确的“前端”和“后端”方面做了一些工作,但是一旦你有了工作,你就可以解决并忘记。

它不提供复杂的记录设施 - 例如滚动文件 - 但这是by design,因为它旨在与具有更多功能(但性能/类型安全性较差)的其他日志库结合使用。

答案 3 :(得分:3)

如果您关心表现,我建议您查看Pantheios。特别是,它有very high performance,并且可以与其他日志库结合使用 - 它在日志库(例如log4cxx)和应用程序代码之间充当有效且类型安全的层。

答案 4 :(得分:1)

您可以使用wxWidgets并使用优秀的class进行日志记录。这很容易和直截了当。例如,您可以创建一个收集所有日志的对话框(例如wxLogError,wxLogMessage,wxLogDebug等)。

答案 5 :(得分:1)

Pantheios在性能方面是一个很好的候选人,但我个人的偏好是P7图书馆。 我的内部测试(CPU i7-4870HQ,SSD)显示P7比Pantheios快。

  • Pantheios每秒写入1.8M日志行(时间和短信)
  • P7每秒写入2.4M日志行(时间,线程,CPU核心,函数,文件,行和文本消息)