刚接手项目里面的日志模块,发现项目启动后无法在实现日志按时间大小滚动,原本的配置文件如下:
<!-- 文件输出日志-->
<appender name="XXX" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 指定日志文件的名称 -->
<file>${LOG_HOME}/${XXX}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/${XXX}-%d{yyyy-MM-dd}-%i.log</fileNamePattern>
<MaxHistory>7</MaxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>${FILE_LOG_PATTERN}</Pattern>
</layout>
</appender>
修改为:
<appender name="XXX" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/${XXX}/${XXX}.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
<MaxHistory>168</MaxHistory>
<maxFileSize>200</maxFileSize>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>${FILE_LOG_PATTERN}</Pattern>
</layout>
</appender>
修改完成后日志可以正常滚动