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就好了,最终的依赖写法如下:

<dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka_2.11</artifactId>
            <version>0.8.2-beta</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
            <version>0.8.2-beta</version>
        </dependency>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值