使用boost::log实现日志等级过滤器
在日志系统中,可以通过设置不同的日志等级来控制输出的详细程度。而对于不同的模块或者场景,可能需要设置不同的日志等级。这时候,就可以使用boost::log库中的channel_severity_filter_actor来实现日志等级过滤器。下面是一个简单的示例程序,演示了如何使用该过滤器。
首先,我们需要包含必要的头文件:
#include <boost/log/core.hpp>
#include <boost/log/trivial.hpp>
#include <boost/log/expressions.hpp>
#include <boost/log/sinks/text_file_backend.hpp>
#include <boost/log/sources/channel_logger.hpp>
然后,定义一个日志记录器和一个文本文件的后端:
typedef boost::log::sinks::synchronous_sink< boost::log::sinks::text_file_backend > file_sink;
boost::shared_ptr< file_sink > sink = boost::log::add_file_log(boost::log::keywords::file_name = "sample_%N.log",