logback根据日期创建文件夹
时间: 2025-02-01 07:26:20 浏览: 28
### 配置 Logback 按照日期创建日志文件夹
为了使Logback能够根据日期来创建新的日志文件并存储到相应的文件夹中,需要正确设置`logback-spring.xml`或`logback.xml`中的配置项。以下是具体的配置方法:
#### 使用 `SizeAndTimeBasedRollingPolicy`
通过采用`SizeAndTimeBasedRollingPolicy`策略,不仅可以基于时间滚动日志文件,还可以控制旧的日志文件大小以及自动清理过期的日志数据。
```xml
<configuration>
<!-- 定义日志输出格式 -->
<property name="LOG_PATH" value="logs"/>
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/application.log</file>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 日志文件名模式 -->
<fileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<!-- 单个日志文件最大尺寸 -->
<maxFileSize>10MB</maxFileSize>
<!-- 总保留天数 -->
<maxHistory>30</maxHistory>
<!-- 启动时压缩历史日志 -->
<cleanHistoricCompressedFiles>true</cleanHistoricCompressedFiles>
</rollingPolicy>
<!-- 设置触发条件为当日志达到指定大小时进行分割 -->
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
</appender>
<root level="debug">
<appender-ref ref="FILE" />
</root>
</configuration>
```
上述配置实现了按每天生成一个新的日志文件,并将其存放在`${LOG_PATH}`变量所指向的位置(默认为当前工作目录下的`logs`子目录)。当某一天的日志量超过设定的最大值(此处设为10 MB),则会立即创建新文件继续记录后续的信息;而之前的老文件会被打包成`.zip`形式保存下来[^2]。
此外,在应用启动之初便会检查是否存在超出规定期限的历史归档文件,并对其进行清除操作以释放磁盘空间[^3]。
阅读全文
相关推荐








