我正在将记录添加到旧的C ++程序中。经过一些研究,我决定使用Boost Log。文档中充满了创建接收器和过滤器的示例。但是,我找不到任何日志配置文件的示例。
有没有办法从不必编译的文件配置日志记录?与log4net类似?或者Python(好吧,因为Python不编译,无论如何......)?
答案 0 :(得分:11)
最终我找到了官方文档,无论是最近添加的,还是隐藏得很好,以至于我之前没有看到它:
不幸的是,我找不到详尽的答案,但有些意见:
当然可以使用配置文件:
boost::log::init_from_stream(std::basic_istream< CharT > &)
文件示例(来自Boost log severity_logger init_from_stream):
[Sinks.MySink]
Destination=Console
Format="%LineID%: <%Severity%> - %Message%"
从以下链接中,您可以识别其他有效的设置键和值(例如,Destination = TextFile,Filter =,AutoFlush =,FileName =)
boost的parser_utils.hpp中的常量给出了配置文件默认支持的关键字的另一个概念(例如,带有密钥DisableLogging的[核心]部分)。
此处描述了为用户定义的类型提供设置(在页面末尾有相应的配置文件片段):
http://www.boost.org/doc/libs/1_57_0/libs/log/doc/html/log/extension/settings.html
在我看来,很难找到配置文件格式条目的描述,因为有效条目是从实现接收器,过滤器等的源代码派生的。这种实现甚至可能是用户定义的,因此不可能给出明确的配置格式描述。
也许您可以尝试以编程方式创建配置,并且在将其转换为配置文件的形式时,您可以针对您无法找到如何设置它们的特定属性打开单独的问题。