kafka自带的slf4j和logback冲突

springboot项目中使用kafka时报错如下:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/E:/maven/repo/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/E:/maven/repo/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

 

项目本来使用的是logback来写日志,后来有新的需求,需要用kafka,然后我就在Maven中引入了kafka的jar,整个项目都开发完了,放到生产环境了,然后突然有一天我说去看一下日志,然后就尴尬,很久都没有日志了。 
首先,我去查了日志服务器,刚开始以为是日志服务器满了,但是日志服务器并没有满; 
然后,我在测试环境中去看,测试环境中也没有日志,我也看了测试环境的日志服务器也没有满,然后我就把服务重启了,以为重启就好了,可是并没有好; 
最后,我在测试环境中发现,原来是jar包冲突了,找了很久原来是slf4j和logback冲突了,但是我的Maven中的pom.xml文件中并没有引入slf4j啊,感觉很奇怪,后来查询资料发现kafka自动会引入slf4j! 
然后我在引入kafka的jar包的地方去掉slf4就好了,最终的依赖写法如下:


            org.apache.kafka
            kafka_2.11
            0.8.2-beta
           
               
                    org.slf4j
                    slf4j-log4j12
               

               
                    org.slf4j
                    slf4j-api
               

           

       

       
            org.apache.kafka
            kafka-clients
            0.8.2-beta
       

你可能感兴趣的:(kafka)