问题
之前写过一篇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即可。
application.yaml
spring:application:name: demo
logging:file:name: ${user.home}/log/demo.loglevel:root: infoorg.springframework.web: debugorg.hibernate: errorlogback: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
。
上述就是Spring自带的日志滚动归档日志策略。
到这里就完成了Spring到日志配置,只要配置application.yaml文件就可以了。
总结
如果application.yaml中的日志配置,能够满足需求的话,只要配置这个文件就好,没有必要使用logback-spring.xml文件配置。
参考
- Spring Boot 日志各种使用姿势,是时候捋清楚了!