如何为多行字符串添加前缀?

时间:2017-11-30 12:38:16

标签: boost-log

有时,源字符串包含多行。我在日志结果的第二行找不到前缀。我不想将源字符串拆分为单行,有什么想法吗?

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

1 个答案:

答案 0 :(得分:1)

不幸的是,这不可能与Boost.Log有关。您在流表达式中生成的任何输出(包括换行符)都被视为单个日志记录,其格式化一次,因此它在输出中只有一个时间戳和其他属性。

您应该手动将行分成不同的日志记录。如果从外部源(例如网络或从某个库中回调)收到日志消息文本,则必须自己按换行分割文本。