如何使用BOOST_LOG_TRIVIAL宏将任何内容记录到stdout / stderr和文件中?
如果我这样做
boost::log::add_file_log
(
boost::log::keywords::file_name =
"logs/%Y-%m-%d_%H-%M-%S.%N.log",
boost::log::keywords::rotation_size = 10 * 1024 * 1024,
boost::log::keywords::time_based_rotation =
boost::log::sinks::file::rotation_at_time_point(0, 0, 0),
boost::log::keywords::format = "[%TimeStamp%]: %Message%"
);
boost::log::add_common_attributes();
它不会将任何内容记录到stdout / stderr,只记录文件。
答案 0 :(得分:1)
在了解Boost Log时,我遇到了这个问题的答案:
更改或添加默认core
接收器的流将替换默认流(stdout
)。要将其添加回来,您可以将boost::log::add_console_log(std::cout)
与关联的格式说明符一起使用。只需为stdout和stderr添加std::cout
和std::clog
。
此方法可在此标头文件中找到:boost/log/utility/setup/console.hpp