springboot默认使用什么日志(SpringBoot默认日志Logback)
springboot默认使用什么日志(SpringBoot默认日志Logback)① 引入默认的配置文件logging.config=classpath:logging-config.xml4、配置文件详解默认情况下,Spring Boot 将日志输出到控制台,不会写到日志文件。如果要编写除控制台输出之外的日志文件,则需在 application.properties 中设置日志路径。Spring Boot 官方推荐优先使用 logback-spring.xml 的日志配置文件,放在 src/main/resources 下。可以通过 logging.config 属性指定自定义的名字:
1、SpringBoot 默认使用 Logback
2、 Logback 依赖
在 spring-boot-starter 中已经添加
3、 日志输出
默认情况下,Spring Boot 将日志输出到控制台,不会写到日志文件。如果要编写除控制台输出之外的日志文件,则需在 application.properties 中设置日志路径。
Spring Boot 官方推荐优先使用 logback-spring.xml 的日志配置文件,放在 src/main/resources 下。
可以通过 logging.config 属性指定自定义的名字:
logging.config=classpath:logging-config.xml
4、配置文件详解
① 引入默认的配置文件
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
② 从配置中心读取属性
根据官网的描述可以得到这样的信息: logback-spring.xml 加载早于 application.yml,如果直接通过 ${参数 key} 的形式获取是无法获取到对应参数值的。解决的方法是:
③ 设置变量
④ <appender>
appender 用来格式化日志输出节点,有俩个属性 name 和 class,class 用来指定哪种输出策略,常用就是 ConsoleAppender (控制台输出策略)和 RollingFileAppender (文件输出策略)
a. 控制台输出 ConsoleAppender
注意:ThresholdFilter 临界值过滤器,过滤掉低于指定临界值的日志
b.输出到文件 RollingFileAppender
RollingFileAppender 主要用于切分日志,常见的按天划分。
c.<loger>
用来设置某一个包或者具体的某一个类的日志打印级别、以及指定 <appender>。<loger > 仅有一个 name 属性,一个可选的 level 和一个可选的 addtivity 属性。
name: 用来指定受此 loger 约束的某一个包或者具体的某一个类。
level: 用来设置打印级别(日志级别),大小写无关:TRACE DEBUG INFO WARN ERROR ALL 和 OFF,还有一个特俗值 INHERITED 或者同义词 NULL,代表强制执行上级的级别。如果未设置此属性,那么当前 loger 将会继承上级的级别。
addtivity: 是否向上级 loger 传递打印信息。默认是 true。
d.<root>
root 节点是必选节点,用来指定最基础的日志输出级别,只有一个 level 属性。logger 的特例,在一个 logback 上下文中只有一个,就是根记录器。
从该种级别来看,如果此时在最低层的 logger 输出日志信息,以该配置作为基础,它将会向父级的所有 logger 依次传递,所以按理来说一个打印信息将会打印四次。
5、sql 语句日志记录
6、logback 汇总
application.properties
logback-spring.xml
欢迎关注 @Python大星 ,一个会点 Python 的 Java 程序员。文章如有问题,你倒是说啊,喜欢的话,一键三连。
@Python大星 | 文