1. 程式人生 > >kafka自帶的slf4j和logback衝突

kafka自帶的slf4j和logback衝突

專案本來使用的是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>