能否使用YYYYMMDD令牌,同时让最新日志文件不带日期后缀?
问题
当前日志配置如下:
wrapper.logfile=/something/logs/wrapper.YYYYMMDD.log wrapper.logfile.format=LPTM wrapper.logfile.loglevel=INFO wrapper.logfile.maxsize=0 wrapper.logfile.rollmode=DATE wrapper.logfile.maxfiles=27
生成的日志文件示例:
wrapper.20231204.log wrapper.20231205.log wrapper.20231206.log
希望最新的日志文件命名为wrapper.log(不带YYYYMMDD后缀),查阅官方文档得知ROLLNUM令牌可实现此效果,但YYYYMMDD令牌似乎不行,想知道是否遗漏了什么?
解决方法
你需要调整日志文件路径的写法,把日期后缀移到滚动后的文件名规则里,而非直接写在主日志路径中。具体配置修改如下:
wrapper.logfile=/something/logs/wrapper.log wrapper.logfile.format=LPTM wrapper.logfile.loglevel=INFO wrapper.logfile.maxsize=0 wrapper.logfile.rollmode=DATE wrapper.logfile.maxfiles=27 wrapper.logfile.roll.date.format=YYYYMMDD wrapper.logfile.roll.pattern=wrapper.%d.log
关键说明:
- 主日志路径
wrapper.logfile设为wrapper.log,这就是当前正在写入的最新日志文件。 - 添加
wrapper.logfile.roll.date.format指定日期格式为YYYYMMDD。 - 通过
wrapper.logfile.roll.pattern定义滚动后的日志文件名规则,其中%d会自动替换为上面指定的日期格式。
这样配置后,当日志按日期滚动时,旧日志会被重命名为wrapper.20231204.log这类带日期后缀的文件,而最新的日志始终保持wrapper.log的名称,完全符合需求。
内容的提问来源于stack exchange,提问作者Lars Neidhold
相关产品推荐
相关产品推荐

