logback保留一年日志
背景
网上不能直接找到logback保留一年日志的配置,因此写了此文
maxHistory
在Java的Logback日志框架中,"maxHistory"是一个用于配置日志文件保留期限的属性。它允许你设置日志文件的最大保留期限,以天为单位。
例如,如果你希望在30天后自动删除旧的日志文件,你可以将maxHistory设置为30。这意味着Logback将在每天检查当前日志文件是否达到了30天的保留期限,并在达到期限后自动删除该文件。
保留366天同时限制每个为20M
<configuration>
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>%d{MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%method] [%line] - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<FileNamePattern>/var/log/service.%d{yyyy-MM-dd}.%i.log
</FileNamePattern>
<maxFileSize>20MB</maxFileSize>
<maxHistory>366</maxHistory>
<!-- <totalSizeCap>500MB</totalSizeCap>-->
</rollingPolicy>
</appender>
<root level="INFO">
<appender-ref ref="file"/>
</root>
</configuration>
以上配置未经测试,经过测试的是把文件大小maxFileSize设为1MB,maxHistory设为5,实测当天产生文件超过900+未出现覆盖,推测可实现保留一年日志