jdk1.7使用slf4j+log4j2不记录日志文件

在升级log4j2到2.15后,日志无法写入文件。排查发现slf4j绑定失败,原因是log4j2与JDK1.7版本不兼容。解决方案包括升级JDK到1.8或使用log4j 1.x+slf4j的组合。
摘要由CSDN通过智能技术生成

环境中以前使用weblogic11g+jdk1.7并使用slf4j+log4j2.8进行日志记录,一直正常记录日志,log4j2.x版本出现漏洞后进行升级,使用log4j2.15对log4j2.8进行替换,中间件日志可以正常记录日志,但不记录入日志文件中,进行原因排查
绑定过程
中间件日志中可看到在slf4j绑定前,找到两个StaticLoggerBinder实现,但真正绑定时,仍然提示Failed to load class “org.slf4j.impl.StaticLoggerBinder”.绑定失败,未报错,原因未知
查看slf4j源码
在这里插入图片描述
应该是报错了,但是slf4j没有将错误日志抛出,默认使用no-operation (NOP) logger implementation进行日志打印
修改源码进行日志打印,将错误抛出进行错误跟进
在这里插入图片描述
确实报了NoClassDefFoundError,具体原因为:
在这里插入图片描述
发现为log4j2.15加载时与jdk版本不一致导致。。。
解决方案:
1.升级jdk版本到1.8
2.使用log4j 1.x+slf4j+slf4j-log4j12进行日志打印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值