今天遇到一个问题,问题logback.xml中MaxHistory日志文件保留天数不生效,文件是10-24、12-08、12-09、12-10、12-11配置MaxHistory为7不会删除10-24的日志文件

logback.xml中MaxHistory日志文件保留天数不生效_logback

MaxHistory指的是文件数量,超过MaxHistory数量才会删除,只有当每天生成且只生成一个文件时才表示保留天数。

查阅官网文档Chapter 4: Appenders得到证实

logback.xml中MaxHistory日志文件保留天数不生效_官网文档_02

于是,新增了几个文件之后10-24、12-05、12-06、12-07、12-08、12-09、12-10、12.11 MaxHistory为7 重新启动项目仍没有删除10-24

查看TimeBasedRollingPolicy源码发现logback 启动项目时候 默认不删除多余的文件

logback.xml中MaxHistory日志文件保留天数不生效_java_03

于是加上<cleanHistoryOnStart>true</cleanHistoryOnStart>

logback.xml中MaxHistory日志文件保留天数不生效_xml_04