Boost.DateTime(Boost.Log 所依赖的)似乎不支持专门的小数秒格式,因此唯一的方法是编写自己的自定义属性格式化程序,或者(更简单但不太好的方法)稍微修改您的格式化代码。
而不是这样的:
backend->set_formatter
(
    fmt::stream <<
      fmt::date_time<boost::posix_time::ptime>
        ("TimeStamp", keywords::format = "%Y-%m-%d %H:%M:%S.%f"));
backend->set_formatter
(
    fmt::stream <<
    fmt::date_time<boost::posix_time::ptime>
        ("TimeStamp", keywords::format = %Y-%m-%d %H:%M:%S.") <<
    (fmt::format("%.2s") % fmt::date_time<boost::posix_time::ptime>("%f"))
);
我自己没有测试过它,但我相信它应该可以工作:第一个fmt::date_time()将返回不带小数秒的时间戳,而第二个fmt::date_time()将仅返回秒的小数部分,该秒将被fmt::format().
| 归档时间: | 
 | 
| 查看次数: | 6355 次 | 
| 最近记录: |