有时,源字符串包含多行。我在日志结果的第二行找不到前缀。我不想将源字符串拆分为单行,有什么想法吗?
int main()
{
BOOST_LOG_TRIVIAL(info) << "hello\nworld";
return 0;
}
输出:
[2017-12-05 09:49:34.957813] [0x000028d4] [info] hello
world
我想要以下输出:
[2017-12-05 10:01:35.033017] [0x00000af8] [info] hello
[2017-12-05 10:01:35.033017] [0x00000af8] [info] world
答案 0 :(得分:1)
不幸的是,这不可能与Boost.Log有关。您在流表达式中生成的任何输出(包括换行符)都被视为单个日志记录,其格式化一次,因此它在输出中只有一个时间戳和其他属性。
您应该手动将行分成不同的日志记录。如果从外部源(例如网络或从某个库中回调)收到日志消息文本,则必须自己按换行分割文本。