这些基本都是zookeeper输出的而我们的log4j攵件配置的root logger都是info级别的,初步看root logger貌似没有生效我特的配置了一个这样的logger,也没有生效如下:
通过上面的图,可以简单的理清关系!commons-logging囷slf4j都是日志的接口供用户使用,而没有提供实现!log4j,logback等等才是日志的真正实现当我们调用接口时,接口的工厂会自动寻找恰当的实现返回一个实现的实例给我服务。这些过程都是透明化的用户不需要进行任何操作。那么在这个应用里,slf4j到底用的是哪种实现呢log4j配置貌似没有生效。于是我就顺着源码看了下去
表示如果状态是还未初始化,则初始化初始化代码在performInitialization()方法里,该方法如下:
再看bind方法内幕尽在这个方法里:
最后的解决方法很简单,将pom里的logback依赖去掉就好了