这是我的spring-boot应用程序中类路径根目录中的logback.xml。
启动我的应用程序时,此文件永远不会旋转,日志文件会增长并变为无穷大。 (零旋转超过100kb,或任何错误的控制台日志中的信息)。目录是可写的。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="com.mystuff" level="DEBUG"/>
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<file>/tmp/mylog.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>/tmp/mylog.log.%d{yyyy-MM-dd_HH_mm_ss}.%i</fileNamePattern>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>100KB</MaxFileSize>
</triggeringPolicy>
</appender>
<root level="DEBUG">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
答案 0 :(得分:0)
包含的base.xml文件存在问题。已在此文件中定义了appender ch.qos.logback.core.rolling.RollingFileAppender。它将triggeringPolicy设置为10MB。
答案 1 :(得分:0)
不幸的是“ch.qos.logback.core.rolling.FixedWindowRollingPolicy”不处理“%d {yyyy-MM-dd_HH_mm_ss}”模式。您只需使用“%i”模式。 “mylog.log。%i”会运作良好。但是如果你想在文件名中加上时间戳,请使用以下命令:
<timestamp key="ts" datePattern="yyyyMMdd'T'HHmmss"/>
...
<fileNamePattern>mylog.log-${ts}.%i</fileNamePattern>