Spring超简单日志文件配置

问题

之前写过一篇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
具体配置如下:





<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.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
    上述就是Spring自带的日志滚动归档日志策略。
    到这里就完成了Spring到日志配置,只要配置application.yaml文件就可以了。

总结

如果application.yaml中的日志配置,能够满足需求的话,只要配置这个文件就好,没有必要使用logback-spring.xml文件配置。

参考

  • Spring Boot 日志各种使用姿势,是时候捋清楚了!

你可能感兴趣的:(spring,java,后端,log)