如何使用boost :: log :: BOOST_TRIVIAL_LOG更改默认格式?

时间:2012-06-10 22:25:34

标签: c++ boost

boost :: log看起来非常强大。它为琐碎的日志记录提供了一个BOOST_LOG_TRIVIAL宏。但是如何更改默认格式?它默认打印时间戳,我不想要它。你有什么主意吗?似乎唯一的方法是从头部定义一个新的接收器并将其添加到核心,然后你可以在后端调用set_format()以防万一。但这不是“琐碎的”#34;了。

1 个答案:

答案 0 :(得分:16)

Boost.Log有一个默认接收器,只要您不提供自己的接收器就可以使用它。 以下代码段通过添加新接收器来更改控制台日志的格式。

#include <boost/log/trivial.hpp>
#include <boost/log/utility/setup/console.hpp>

int main()
{
    boost::log::add_console_log(std::cout, boost::log::keywords::format = ">> %Message%");
    BOOST_LOG_TRIVIAL(info) << "Hello world!";
}

请注意,您必须将log_setup库添加到构建中,即执行

-lboost_log_setup -lboost_log

其中lib的顺序很重要。