我正在尝试在基于弹簧的项目中创建记录器策略。
我面临的问题与滚动政策有关。 <{1}}已创建且工作正常,但未创建滚动文件logfile.log
。
以下是我的rollingfile.log.%d{yyyy-MM-dd}.log
。
logback.xml
任何帮助将不胜感激。提前谢谢你:D
答案 0 :(得分:2)
您需要将ch.qos.logback.core.RollingFileAppender指定为appender的类。 FileAppender无法滚动。
答案 1 :(得分:1)
我相信你错过了%i 参数,该参数应该被滚动文件索引所取代(即'mylog.2017-03-13。 0 .txt', 'mylog.2017-03-13。 1 .txt'等。)
此外,像 Uwe Allner 一样,我使用的是RollingFileAppender而不是FileAppender。
(我还建议在配置中添加totalSizeCap,以控制总大小)
这是我的整个appender配置:
<appender name="SQL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/mylog.txt</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level- %msg%n
</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<maxHistory>3</maxHistory>
<totalSizeCap>5GB</totalSizeCap>
<fileNamePattern>${LOG_HOME}/archived/mylog.%d{yyyy-MM-dd}.%i.txt.zip</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>20MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>