线上环境日志不按天分割,日志达到预设最大值不打印新日志了
配置如下
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/xxx-API.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/xxx-API.%d{yyyy-MM-dd}.log</fileNamePattern>
<MaxHistory>7</MaxHistory>
<cleanHistoryOnStart>true</cleanHistoryOnStart>
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d{yy-MM-dd HH:mm:ss:SSS} [%-5p] [%t] [%-30.30file:%-4line] - %m%n</pattern>
</encoder>
</appender>
该配置使用了基于时间的滚动切割策略 TimeBasedRollingPolicy,每天0点自动生成一份新的日志文件。
但里面包含了一段 triggeringPolicy 触发策略,即最大单个文件超过 10MB 自动新成新日志文件,TimeBasedRollingPolicy 是基于时间的,不能和其他策略一起组合使用。
解决办法:去掉triggeringPolicy