提高每小时轮换日志

Boost rotate logs hourly

我正在使用 boost::log 作为服务的日志记录引擎。我知道如何将日志轮换设置为 daily/weekly,但我想设置的是日志每小时轮换一次。我无法在 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

非常感谢任何 suggestions/code 示例。

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

Time interval rotations: rotation_at_time_interval class. With this predicate the rotation is not bound to any time points and happens as soon as the specified time interval since the previous rotation elapses. This is how to make rotations every hour:

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