我正在使用自定义格式化功能,并试图弄清楚如何格式化范围属性。我发现的 boost 文档中的示例适用于 lambda 表达式格式化程序,我不知道如何在格式化程序函数中使用它们。现在我成功地使用了时间戳等属性,但是范围属性让我无法理解。
BOOST_LOG_ATTRIBUTE_KEYWORD(scope, "Scope", attributes::named_scope_list)
BOOST_LOG_ATTRIBUTE_KEYWORD(timestamp, "TimeStamp", boost::posix_time::ptime)
void formatter(boost::log::record_view const& record, boost::log::formatting_ostream& stream) {
stream << record[timestamp];
// stream << record[scope].file_name or something like that
}