【问题标题】:Boost rotate logs hourly提高每小时轮换日志
【发布时间】:2017-11-15 03:53:19
【问题描述】:

我使用 boost::log 作为服务的日志引擎。我知道如何将日志轮换设置为每天/每周,但我想设置的是每小时轮换一次日志。我在 boost 中找不到任何直接的实现,我想也许有人有解决方法?

此外,是否可以创建旋转文件,即使在特定小时内没有日志条目?

用例:

log_file.log
13.06.2016 12:02 line1
13.06.2016 12:23 line2
13.06.2016 12:45 line3
13.06.2016 13:02 line4
13.06.2016 15:02 line5

我希望输出文件是:

**log_file_13:06:2016-12**
13.06.2016 12:02 line1
13.06.2016 12:23 line2
13.06.2016 12:45 line3

**log_file_13:06:2016-13**
13.06.2016 13:02 line4

**log_file_13:06:2016-14**

**log_file_13:06:2016-15**
13.06.2016 15:02 line5

非常感谢任何建议/代码示例。

【问题讨论】:

    标签: c++ boost-log log-rotation


    【解决方案1】:

    我想你正在使用boosts sink backends。可以每小时轮换一次,从那里说:

    时间间隔旋转:rotation_at_time_interval 类。使用此谓词,旋转不会绑定到任何时间点,并且会在自上一次旋转过去后的指定时间间隔后立即发生。这是每小时进行一次旋转的方法:

    sinks::file::rotation_at_time_interval(posix_time::hours(1))
    

    【讨论】:

    • 着迷于我如何阅读同一个文档而没有注意到小时示例。谢谢指出
    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 2014-01-06
    • 2017-12-19
    • 1970-01-01
    • 2019-02-20
    • 2016-01-27
    • 2013-06-06
    • 2020-08-06
    相关资源
    最近更新 更多