lsf4j jar包依赖 引起日志打印不出来的问题

    最近在搭建应用测试环境的时候遇到一个问题,应用搭建不起来,而且spring框架的日志都没有打印出来,根据jetty日志可以看出,问题出在日志上面,在网上搜索了相关的资料,了解到log4j、slf4j以及logback的相互影响如下:

          根据上图所示,slf4j-api绑定slf4j-logj12可以输出log4j日志,slf4j-api与logback绑定会输出logback日志。当三个包同时存在的情况下,会出现多种可能性,因为这两个jar 包里都有各自的org.slf4j.impl.StaticLoggerBinder ,编译时候绑定的是哪个是不确定的,取决于classloader先加载到了哪个StaticLoggerBinder。

          检查了我应用里的依赖,发现同时依赖了slf4j-api、slf4j-logj12、以及logback,修改pom依赖,去掉logback,同时又更新了slf4j的版本,文件成功打印出来。后续会详细研究一下相关的源代码。

 

附:

检查依赖的方法:

mvn dependency:tree > dep.txt  输出依赖树

jar xvf xxx.war 将war包解压

jar cvf xx.war xx 将xx文件夹中的jar包压缩到xx.war包中

tree xx >>xx.txt 将xx文件夹中的文件目录打印到xx.txt中

fc a.txt b.txt 比较两个文件是否相同

         通过上面几个命令,可以检查一下pom文件修改前和修改后,war包中依赖的jar包有哪些不同,检查依赖树哪里引入了出错的jar包,可以方便查找问题和修复。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值