C++ 在Boost.Log中过滤非平凡的记录器?

C++ 在Boost.Log中过滤非平凡的记录器?,c++,logging,boost,filtering,C++,Logging,Boost,Filtering,我试图找出如何结合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, Severi

我试图找出如何结合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";

Boost.Log文档从对琐碎日志的过滤快速过渡到更复杂的情况。

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

查找set_过滤线,并使其适应:

sink->set_filter(severity >= SeverityLevel::Bar);
对于更高级的过滤器,我只是在boost用户邮件列表上问了一个相关问题:


Johan,我在筛选严重性方面遇到问题。我已经用尽了所有的教程、文档、示例和问题。因为我只是在学习Boost,我发现自己在游泳方面有很多选择,这让我怀疑自己是否走上了正确的道路。我的问题是:stackoverflow.com/q/29707017/1735836
sink->set_filter(severity >= SeverityLevel::Bar);