2017-06-13 84 views
0

我使用boost :: log作为服务的日志引擎。我知道如何将日志轮转设置为每日/每周,但我想设置的是日志的每小时轮换。我无法找到任何直接推动实施,我想也许有人有一个解决方法?每小时加速旋转日志

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

用例:

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 

任何建议/代码示例赞赏。

回答

1

我想你使用的是boosts sink backends。可以按小时转动,从那里开始说:

时间间隔旋转:rotation_at_time_interval类。通过这个谓词,旋转不会被束缚在任何时间点上,而是会在自上一次旋转起经过指定的时间间隔后立即发生。这就是如何使旋转每隔一小时:

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

引人入胜我如何读取相同的文档没有注意到时间的例子。感谢您指出 – Marty