【发布时间】:2020-05-06 12:26:51
【问题描述】:
我正在尝试创建日志格式:
expr::stream
<< "[" << expr::format_date_time< boost::posix_time::ptime >("TimeStamp", "%Y-%m-%d %H:%M:%S.%f")
<< "] [" << logging::trivial::severity
<< "] " << expr::message;
哪些输出:
[2020-05-06 12:25:00.978764] [info] Testing
[2020-05-06 12:25:00.978880] [trace] Testingtrace
然而,这是默认的控制台日志:
[2020-05-06 12:17:23.190613] [0x00007eff5e9767c0] [info] Testing
[2020-05-06 12:17:23.190677] [0x00007eff5e9767c0] [trace] Testingtrace
如您所见,尽管“info”标记比 trace 短,但两条消息都以相同的缩进开始。
我想通过根据严重性级别比较和设置空格数来做到这一点,首先使用“info”进行测试,但是:
logging::trivial::severity == logging::trivial::info
不是有效的布尔表达式。
有谁知道默认格式是如何定义的,我该如何实现这一点。
【问题讨论】:
-
大概只使用具有最大可能严重性字符串长度的
setw会起作用吗? -
哇,谢谢,我有点不好意思说我从来没有听说过这个选项!