我正在Micronaut项目中使用以下logback.xml,它没有按照xml配置中提供的rollingPolicy生成新的日志文件。我尝试使用SizeAndTimeBasedRollingPolicy和TimeBasedRollingPolicy,但没有用。
Micronaut版本:1.2.2
经典的logback:1.2.3
文件:logback.xml
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>logs/my-app.log</file>
<encoder>
<pattern>%cyan(%d{yyyy-MM-dd HH:mm:ss.SSS}) %gray([%thread]) %highlight(%-5level) %magenta(%logger{36}):%line- %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.RollingFileAppender">
<fileNamePattern>
logs/my-app.log-%d{yyyy-MM-dd}-%i.log.gz
</fileNamePattern>
<maxHistory>1</maxHistory>
<totalSizeCap>1MB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%cyan(%d{yyyy-MM-dd HH:mm:ss.SSS}) %gray([%thread]) %highlight(%-5level) %magenta(%logger{36}):%line- %msg%n</pattern>
</encoder>
</appender>
<root level="ALL">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
</configuration>
如果我没记错,您的maxHistory策略会阻止您构建多个文件。相反,它会删除旧的,而只是在新的一天或达到1mb大小时创建一个新的。
maxHistory在这种情况下必须与您声明的TimeBasedRollingPolicy结合使用,然后maxHistory是几天的参数。没有TimeBasedRollingPolicy,它可能只是文件数。