任何帮助或提示将不胜感激!
我的SpringBoot应用程序仅记录1天。我希望它记录30天以上。
logback-spring.xml
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${LOG_FILE}.%i</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<logger name="ca.test.hub" level="INFO" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</logger>
<logger name="org.apache.cxf" level="INFO" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</logger>
<logger name="org.hibernate" level="DEBUG" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</logger>
<logger name="org.springframework" level="INFO" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</logger>
application.yml:
logging:
文件:logs / test.log 图案: 控制台:“%d {dd-MM-yyyy HH:mm:ss.SSS} [%thread]%-5level%logger {36}。%M-%msg%n” 文件:“%d {dd-MM-yyyy HH:mm:ss.SSS} [%thread]%-5level%logger {36}。%M-%msg%n” 水平: 根:INFO
答案 0 :(得分:0)
如果要将日志文件保留30天以上,最好的选择是不要使用FixedWindowRollingPolicy
(documentation),如果您只想限制日志文件的数量,则可以使用此方法保留在文件系统上。
SizeAndTimeBasedRollingPolicy
更适合您的需求,如documentation所述,
存档文件基本上是按日期,但同时限制了大小 每个日志文件
我建议对您当前的FILE
附加程序进行编辑,就像这样
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}-%d{yyyy-MM-dd}.%i</fileNamePattern>
<maxFileSize>10MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
此SizeAndTimeBasedRollingPolicy
使用fileNamePattern
LOG_FILE-2019-05-02.0
存储文件(LOG_FILE当然是${LOG_FILE}
变量的值)。每当该文件的大小超过10MB时,它将翻转一次,然后将创建一个新文件LOG_FILE-2019-05-02.1
并将其写入。
在午夜之后写入的第一条日志将创建一个新文件LOG_FILE-2019-05-03.0
并写入该文件。超过30天的日志文件将被删除。调整配置以最适合您的需求。
我建议您阅读documentation的此附加器,以获取更多详细信息。