1. 描述
totalSizeCap属性设置了, 但没有效果,文件总大小超出后没进行删除旧文件。
- 配置:
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}_error.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<totalSizeCap>30KB</totalSizeCap>
<maxFileSize>5KB</maxFileSize>
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
- 环境
IDE: 2021.3
spring boot: 2.5.6 (spring-boot-starter-logging: 2.5.6 --- logback-classic: 1.2.6)
2. 问题
- 日志文件总大小超出,设置值后没清除旧的日志文件。
- 原因:
3. 解决
- 设置maxHistory属性值
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}_error.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<maxHistory>30</maxHistory>
<totalSizeCap>30KB</totalSizeCap>
<maxFileSize>5KB</maxFileSize>
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
- 结果:
4. 资料
logback 手册appender标签totalSizeCap属性说明:https://logback.qos.ch/manual/appenders.html