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

How to change the default formatting with boost::log::BOOST_TRIVIAL_LOG?

本文关键字:默认 格式 LOG TRIVIAL 何使用 log BOOST boost      更新时间:2023-10-16

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

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

库的顺序很重要。