我使用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
非常感谢任何建议/代码示例。
答案 0 :(得分:2)
我想你正在使用boosts sink backends。从那里开始,每小时轮换一次是可能的:
时间间隔旋转:rotation_at_time_interval类。使用此谓词时,旋转不会绑定到任何时间点,并且一旦自上一次旋转后经过指定的时间间隔就会发生。这是每小时轮换的方法:
sinks::file::rotation_at_time_interval(posix_time::hours(1))