C ++日志框架的build议
我正在寻找具有以下function的C ++日志logging框架:
- 日志有一个严重性(信息,警告,错误,关键等)
- 日志标有模块名称
- 框架有一个UI(或CLI)来configuration我们将实际login到哪个模块的文件,以及将日志写入文件所需的最低严重程度。
- 有一个查看器,让我按模块search,严重性,模块名称,错误名称等
不确定UI或CLI的configuration。 我已经使用这两个日志框架在一个点或其他。
https://sourceforge.net/projects/log4cplus/
https://logging.apache.org/log4cxx/index.html
根据可手动编辑的configuration文件或通过快速而脏的GUI或CLI应用程序驱动日志logging不会太困难。 可能有点难以dynamic调整,但不是太糟糕。
更新:
它看起来像提出Boost.Log现在在Boost 1.54这是一个稳定的版本。 如果你已经在使用Boost,那么我会去看看它。
没有观众,但你可以尝试pantheios 。 我已经使用了将近一年了,对此我感到非常满意。
我强烈build议Pantheios ,因为它是唯一一个完全types安全的,也是非常有效的 。 在select正确的“前端”和“后端”时,它会对用户施加一些工作,但是一旦你有了工作,你就可以修复和忘记。
它不提供复杂的日志loggingfunction,例如滚动文件,但这是devise的 ,因为它旨在与其他具有更多function(但性能/types安全性较差)的日志logging库结合使用。
如果你关心performance,我build议你看看Pantheios 。 尤其是,它具有非常高的性能 ,可以与其他日志logging库结合使用 – 它可以作为日志库(例如log4cxx)和应用程序代码之间的高效且types安全的层。
你可以使用wxWidgets,并使用它很好的类来logging。 这相当简单直接。 例如,你可以创build一个收集所有日志的对话框(例如wxLogError,wxLogMessage,wxLogDebug等)。
Pantheios在性能方面是个不错的select,但我的个人偏好是P7库。 我的内部testing(CPU i7-4870HQ,SSD)显示P7比Pantheios更快。
- Pantheios每秒写入180万行日志(时间和文本消息)
- P7每秒写入2.4M日志行(时间,线程,CPU核心,函数,文件,行和文本信息)