0

如何使用 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();

它不会将任何内容记录到标准输出/标准错误,只有文件。

4

1 回答 1

1

在学习 Boost Log 时,我遇到了这个问题的答案:

更改或添加默认接收core器的流会替换默认流 ( stdout)。要将其添加回来,您可以将boost::log::add_console_log(std::cout)与关联的格式说明符一起使用。只需分别为 stdout 和 stderr添加std::cout和。std::clog

这个方法可以在这个头文件中找到:boost/log/utility/setup/console.hpp

于 2014-05-18T14:51:26.230 回答