我用spdlog记录所有消息。我的日志模式是JSON格式。我在所有的日志调用中手动转义消息。是否存在在spdlog层中自动转义消息的方法?
手动转义的样本:
spdlog::info(escape_message(data));它应该在spdlog层内自动处理:
spdlog::info(data);发布于 2019-10-04 10:47:30
我找到了解决问题的方法。
我应该实现一个自定义的formatter类,然后在format方法中,通过例如escape_message(msg.payload.data())转义消息,然后调用spdlog::log(msg.source, msg.level, escape_message(msg.payload.data()))、spdlog::info或.在这个方法里。
注意事项:在format方法中,我设置了一个日志模式,因为在类之外,如果调用set_formatter,然后调用set_pattern,则无法正常工作。
发布于 2019-10-04 15:53:05
告诉spdlog格式化单个字符串,而不是将字符串本身解释为格式字符串:
spdlog::info("{}", data);https://stackoverflow.com/questions/58233273
复制相似问题