记一次项目上线后Log4j2不输出日志的坑
公司项目采用了Log4j2来输出日志,在开发环境和测试环境下均可以输出日志,但在生成环境就没有日志输出。开始毫无头绪,后来通过不断的排查,终于解决了这个问题。在此记录下该问题的解决过程,便于后续查阅。 一、发现问题 */ /*--> */ 开发环境打印日志但生产环境不打印日志这个问题比较棘手。一直找不到原因,后面突然想到在启动的时候打印信息肯定会有所不同。通过在 2 个环境启动同一个项目的控制台打印信息对比有了以下的发现: (1) 出现了 SL4J 的警告信息,都是提示包冲突 Multiple bindings were found on the class path (2) 但是仔细观察发现了 加载这两个冲突的 jar 包的顺序不同 ,具体见下图: */ /*--> */ ①开发环境日志冲突jar包加载顺序图 */ /*--> */ 防止图失效,我把文字复制过来了 SLF4J:Class path contains mutiple SLF4J bindings SLF4J:Found binding in[jar:file:/WEB-INF/lib/log4j-slf4j-impl-2.6.6.jar!/org/slf4j/impl/StaticLoggerBider.class] SLF4J:Found binding in[jar:file:/WEB-INF/lib