Boost.Log配置文件

zmb*_*mbq 9 c++ configuration logging boost

我正在添加日志到旧的C++程序.经过一番研究,我决定使用Boost Log.文档中充满了创建接收器和过滤器的示例.但是,我找不到任何日志配置文件的示例.

有没有办法从不必编译的文件配置日志记录?与log4net类似?或者Python(好吧,因为Python不编译,反正......)?

Dav*_* L. 12

最终我发现了官方文档,无论是最近添加的,还是隐藏得很好,以至于我之前没有看到它:

http://www.boost.org/doc/libs/1_57_0/libs/log/doc/html/log/detailed/utilities.html#log.detailed.utilities.setup.settings_file


不幸的是,我找不到详尽的答案,但有些观察:

当然可以使用配置文件:

boost :: log :: init_from_stream(std :: basic_istream <CharT>&)

文件示例(来自Boost日志severity_logger init_from_stream):

[Sinks.MySink]
Destination=Console
Format="%LineID%: <%Severity%> - %Message%"
Run Code Online (Sandbox Code Playgroud)

从以下链接中,您可以识别其他有效的设置键和值(例如,Destination = TextFile,Filter =,AutoFlush =,FileName =)

http://boost.2283326.n4.nabble.com/log-init-from-settings-problem-with-applying-format-and-filter-td3643483.html

boost的parser_utils.hpp中的常量给出了配置文件默认支持的关键字的另一个概念(例如,带有密钥DisableLogging的[Core]部分).

此处描述了为用户定义的类型提供设置(使用页面末尾的配置文件的相应片段):

http://www.boost.org/doc/libs/1_57_0/libs/log/doc/html/log/extension/settings.html

在我看来,很难找到配置文件格式条目的描述,因为有效条目是从实现接收器,过滤器等的源代码派生的.这种实现甚至可以是用户定义的,因此不可能给出显式配置格式说明.

也许你可以尝试创建以编程的方式配置,并将其输送到配置文件的形式时,可以打开,你是不是能够找出如何设置他们的特殊性质不同的问题.