一次日志打印错乱引出对jvm加载jar包顺序的研究

问题现象

某天测试同学说最新版代码出的包日志打印有问题:1,日志输出目录变更了;2,日志格式也变更了;

跟我们定义的logback.xml完全不一样。

解决过程

日志出问题,先检查最终打到包里的logback.xml是否正确。直接解压看,正常的。用相同的代码在本地IDE跑,日志都是按照logback.xml中设置打印。没办法,再回去出问题的机器上看日志,发现日志格式是公司内部定义的;此时另外一个同学说有可能我们的logback.xml被覆盖了,在classpath中有另外一个logback.xml。有道理,去lib下搜一把。

找到了,确实是某个下游依赖库也引入另外一个logback.xml,立马找负责该库的兄弟解决问题,重新出包,done,日志恢复正常。但这样也不是方法,如果后