之前写过一篇Spring日志文件配置,但是,使用最新的Spring版本,就废了。这里重新来一次Spring日志文件配置。Spring默认日志配置,下面链接就是spring默认配置:
https://github.com/spring-projects/spring-boot/blob/v3.2.1/spring-boot-project/spring-boot/src/main/resources/org/springframework/boot/logging/logback/base.xml
具体配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Base logback configuration provided for compatibility with Spring Boot 1.1
-->
<included>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</included>
基于这个默认配置,我们只需要配置application.yaml即可。
spring:
application:
name: demo
logging:
file:
name: ${user.home}/log/demo.log
level:
root: info
org.springframework.web: debug
org.hibernate: error
logback:
rollingpolicy:
total-size-cap: 1GB
其中logging.logback.rollingpolicy.total-size-cap
,这里是所有归档文件的总大小。默认是0,我们设置为1GB,表示所有归档压缩文件总和最大也就1GB。其他默认日志滚动策略如下:
logging.logback.rollingpolicy.max-history
:表示保留的日志天数,默认是7天;logging.logback.rollingpolicy.max-file-size
:表示当日志文件多大时,触发日志归档,默认是10MB;logging.logback.rollingpolicy.clean-history-on-start
: 启动Spring时,清理掉已有的归档日志;logging.logback.rollingpolicy.file-name-pattern
:日志归档命名方式,默认是${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz
。如果application.yaml中的日志配置,能够满足需求的话,只要配置这个文件就好,没有必要使用logback-spring.xml文件配置。