近期进行项目优化将原有项目日志由logback换为log4j2,在本地以及测试环境测试可以正常按照配置打印日志文件,但是在压测环境却不输出日志,其他应用正常输出日志。
问题排查时首先怀疑日志配置不对,在反复修改完善日志配置后还是只有压测环境无法输出日志,但是业务逻辑可以正常访问,继而怀疑环境服务器配置问题,反复检查了weblogic在每个服务器的配置情况,重置、重启各种尝试无果,咨询同事都未遇到过此类问题,脑壳疼,一天已过。
由于压测环境没有日志,weblogic的运行日志看不出什么问题,于是在本地环境详细检查,终于发现了有一个地方运行时提示slf4j中有一个类与logback中类重复,具体提示信息如下:
class path contains multiple slf4j bindings
由于在本地可以正常打印日志前期没有关注它,后续实在找不到问题,只能试着解决一下,网上搜索解决问题时看到了这篇文章,记一次项目上线后Log4j2不输出日志的坑,问题很类似,pom中找到所有引用logback的地方exclusion掉,本地不在报上面的提示,发布到压测环境可以正常打印日志。。。
关于jar包的冲突还是能解决就解决掉的。