SpringBoot logback 默认配置

前言

根据Spring Boot 默认 logback.xml 配置文件的寻找和提取博客找到了默认配置,记录如下。
本文SpringBoot 版本为2.1.18.RELEASE。只讲几个重要的配置属性。其余配置属性不解读,请参考logback官方文档。

源码位置

SpringBoot 默认使用的logback配置文件目录为:org\springframework\boot\spring-boot\2.1.18.RELEASE\spring-boot-2.1.18.RELEASE.jar!\org\springframework\boot\logging\logback
在这里插入图片描述
可以看到有多个xml文件,base.xml,console-appender.xml,defaults.xml以及file-appedner.xml。

base.xml

在这里插入图片描述
LOG_FILE就是日志文件位置。

"LOG_FILE"的属性,该属性的值是通过一系列的变量解析得到的。

首先,它尝试解析名为"LOG_FILE"的环境变量。如果环境变量不存在或为空,则继续解析名为"LOG_PATH"的环境变量。如果"LOG_PATH"环境变量也不存在或为空,则继续解析名为"LOG_TEMP"的环境变量。如果"LOG_TEMP"环境变量也不存在或为空,则继续解析名为"java.io.tmpdir"的系统属性。如果"java.io.tmpdir"系统属性也不存在或为空,则使用默认值"/tmp"。

最终,通过上述的变量解析,得到的值将作为"logback-spring.xml"配置文件中的"log.file"属性的值,用于指定日志文件的路径和名称。如果未提供任何环境变量或系统属性,则日志文件将被保存在"/tmp/spring.log"路径下。

console-appeder.xml

控制台打印,直接引用了CONSOLE_LOG_PATTERN(在default.xml文件中)属性。
在这里插入图片描述

default.xml

在这里插入图片描述
FILE_LOG_PATTERN、CONSOLE_LOG_PATTERN:前者输出到日志的配置,后者控制台打印配置。

file-appender.xml

输出到日志的配置,重点关注下。
在这里插入图片描述
如图所示,SizeAndTimeBasedRollingPolicy采用的是基于日志大小和时间的滚动策略,LOG_FILE就是base.xml中的属性。

${LOG_FILE_MAX_SIZE:-10MB}最大的文件大小,引用变量LOG_FILE_MAX_SIZE,冒号后面的 10MB 表示的是默认值。

最大保存天数引用变量LOG_FILE_MAX_HISTORY,无则默认值为0。

  • 17
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值