springboot中 使用logback.xml 定义日志文件的名字,其中带有日期精确到天。且设置大小达到一定值后,重新打印日志文件到新的文件
时间: 2024-02-21 08:00:46 浏览: 79
SpringBoot之logback-spring.xml不生效的解决方法
好的,对于你的问题,我可以给出以下的回答:
在使用logback.xml定义日志文件名字时,可以使用`%d`占位符来表示日期。例如,如果你想要日志文件名字为"mylog-2021-07-26.log",可以这样定义:
```xml
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>mylog-%d{yyyy-MM-dd}.log</file>
...
</appender>
```
这样,每天生成的日志文件都会带上日期,例如"mylog-2021-07-26.log"。
对于设置大小达到一定值后,重新打印日志文件到新的文件,可以使用logback的rolling策略。例如,如果你想要每个日志文件最大为10MB,同时保留最近的7个日志文件,可以这样定义:
```xml
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>mylog-%d{yyyy-MM-dd}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>mylog-%d{yyyy-MM-dd}-%i.log</fileNamePattern>
<maxHistory>7</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
...
</appender>
```
这样就可以实现每个日志文件最大为10MB,同时保留最近的7个日志文件。当一个日志文件达到10MB时,logback会自动将其重命名为"mylog-2021-07-26-0.log",并开始写入新的日志文件"mylog-2021-07-26-1.log"。当保留的日志文件超过7个时,最老的日志文件会被删除。
希望这些信息能够对你有所帮助!
阅读全文