如果日誌消息太長(例如1000個字符),boost::log
是否有可能只考慮日誌消息的一部分?這在跟蹤變量內容時非常有用,其中整個變量不是強制性的,無法找出所需的信息。提升日誌消減長日誌消息
例如:當從當前目錄打印包含文件列表的字符串時,我不需要查看整個列表就可以知道文件系統是否成功掃描。
boost::log::add_file_log
(
boost::log::keywords::file_name = "logs/Log_%Y-%m-%d_%H-%M-%S.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::auto_flush = true,
boost::log::keywords::format =
(
boost::log::expressions::stream
<< boost::log::expressions::format_date_time<boost::posix_time::ptime>("TimeStamp", "%Y-%m-%d %H:%M:%S:%f")
<< " [" << boost::log::expressions::attr<boost::log::attributes::current_thread_id::value_type>("ThreadID") << "]"
<< ": <" << boost::log::trivial::severity << "> "
<< boost::log::expressions::smessage
)
);
例如爲:可boost::log::expressions::smessage
定製像boost::log::expressions::smessage::substr(0, 1000)
或以任何其他方式?