logback日志不生效bug,怎么验证是否生效?

大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。
本篇主题是:logback日志不生效bug,怎么验证是否生效?

深刻体会到,bug都是很恶心的,需要大量时间去排除。但有时候一个bug会触发你的学习,然后不仅解决了还能学到更多东西,这就是bug另外的一面。

话不多说,下面进入本篇内容

一、必要知识点

logback在启动的时候,会按照下面的顺序加载配置文件

  1. 在classpath中查找 logback.groovy 文件
  2. 在classpath中查找 logback-test.xml 文件
  3. 在classpath中查找 logback.xml 文件

首先必须知道,logback在classpath目录下,它会自动加载(logback日志命名符合下面规则加载顺序即可),下面都是生效的
1、application和logback.xml都在classpath目录下
在这里插入图片描述
2、application在config下,logback.xml在classpath目录下
在这里插入图片描述

二、怎么验证logback是否生效

设置debug=“true”,这样控制台可以看到日志

<configuration debug="true" >
...
</configuration>

启动可以看到

在这里插入图片描述

三、失效情况1

在这里插入图片描述
因为启动application配置文件和logback文件不在同一目录,失效。
解决方案,将配置文件移进config目录下,和logback在同一目录下并配置logging: config: classpath:config/logback.xml即可
在这里插入图片描述

四、失效情况2

不符合默认加载的命名(不符合logback.groovy、logback.xml、logback-test.xml)
比如logback-dev.xml失效
在这里插入图片描述

如果确实想按照自己的需求命名
比如每个环境下都不一样,dev/sit/prod等,那么可以通过logback.xml中配置logback-xx.xml去加载你需要的环境的logback-xx.xml,如下
logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="logback-${spring.profiles.active}.xml"/>
</configuration>

在这里插入图片描述
那么只要配置好环境启动即可
在这里插入图片描述
结果(最后还是加载了logback-dev.xml)
在这里插入图片描述

五、失效情况3

有其他的logback提前生效了,这个只能自己排除,可能你其他容器中已经自带了,可以去target/classes里面看是否
下面是logback-test.xml生效了,导致logback.xml失效,这个是加载顺序问题导致,上面已经说了加载顺序。
在这里插入图片描述

本文结束!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值