如何通过logback-spring.xml 配置日志文件每天单独一个文件?
时间: 2023-11-27 11:51:20 浏览: 114
可以通过在 logback-spring.xml 文件中配置 `rollingPolicy` 和 `fileNamePattern` 实现每天单独一个日志文件的功能。具体配置如下:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 日志输出文件的路径 -->
<file>/var/log/myapp/myapp.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 每天生成一个文件 -->
<fileNamePattern>/var/log/myapp/myapp.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 保留最近7天的日志文件 -->
<maxHistory>7</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="FILE" />
</root>
</configuration>
```
在上面的配置中,`rollingPolicy` 的 `class` 属性设置为 `ch.qos.logback.core.rolling.TimeBasedRollingPolicy`,表示按时间分割日志文件。`fileNamePattern` 属性指定日志文件的命名格式,由于我们想要每天生成一个文件,因此使用 `%d{yyyy-MM-dd}` 格式,表示以年、月、日为单位进行分割。
以上面的配置为例,每天会生成一个名为 `/var/log/myapp/myapp.2021-01-01.log` 的日志文件,如果在同一天内多次启动应用程序,则会向同一个日志文件中追加日志。如果跨天启动应用程序,则会生成一个新的日志文件。
注意,`maxHistory` 属性表示最多保留多少天的历史日志文件,超过该时间的日志文件将被自动删除。
阅读全文