13

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

4

1 回答 1

20

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

#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

库的顺序很重要的地方。

于 2013-07-04T15:27:49.760 回答