2

我试图弄清楚如何结合 BOOST_LOG_SEV 启用一个简单的过滤器。

例如,如果我设置这样的东西:

enum class SeverityLevel {
  Foo,
  Bar
};

boost::log::sources::severity_logger_mt<SeverityLevel> slg;

BOOST_LOG_SEV(slg, SeverityLevel::Foo) << "Foo log record";
BOOST_LOG_SEV(slg, SeverityLevel::Bar) << "Bar log record";

我希望能够添加这样的内容:

slg.set_minimum_severity(SeverityLevel::Bar);  // Filter out Foo logs

Boost.Log 文档从过滤琐碎的日志快速跳转到更复杂的案例。

4

1 回答 1

1

首先,关于阅读 boost log 文档,您可能想知道一个小秘密,即代码示例比 doc 页面上的摘要要完整得多。如果我理解正确,您应该对示例中的示例感到满意

http://www.boost.org/doc/libs/1_54_0/libs/log/example/doc/tutorial_filtering.cpp

查找 set_filter 行,并将其调整为:

sink->set_filter(severity >= SeverityLevel::Bar);

对于更高级的过滤器,我刚刚问了一个关于提升用户邮件列表的相关问题:

http://lists.boost.org/boost-users/2013/10/80211.php

于 2013-10-16T19:07:05.943 回答