當前位置:
首頁 > 知識 > log4j、logback日誌衝突解決,log4j橋接到logback

log4j、logback日誌衝突解決,log4j橋接到logback

背景:項目中一直使用slf4j日誌框架,logback日誌組件作為實現記錄日誌,最近集成elasticsearch客戶端。

官方文檔,es客戶端運行依賴log4j日誌組件,也親自試了,不引入log4j確實會報錯;怎麼辦呢,不能輕易引入log4j,很容易和logback衝突 ?

還好有這麼一個橋接器,可以從log4j橋接到slf4j,只需依賴log4j-to-slf4j jar包即可完美解決。

  1. <dependency>
  2. <groupId>org.apache.logging.log4j</groupId>
  3. <artifactId>log4j-to-slf4j</artifactId>
  4. <version>2.11.0</version>
  5. </dependency>

問題很容易解決了,是否值得思考一下,這種情況是否可以避免呢,比如說現在讓你封裝一個jar包給別人用,難道你要別人都加一個這樣看似毫無關係的橋接器嗎 ?

當然可以避免的,不需要每個使用方都用橋接器來解決問題,這也是slf4j等這類日誌框架存在的意義,也是java中面向介面編程的思想所在。在封裝的jar包里只使用slf4j這類日誌框架的介面,至於具體實現是誰,看使用方了,使用方happy 就 ok !避免對使用方的影響,比如使用slf4j:

private final static Logger LOGGER = LoggerFactory.getLogger(xxx.class);

log4j、logback日誌衝突解決,log4j橋接到logback

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

Tengine 安裝配置全過程
Android端運行Tensorflow的demo去分類自己的數據集

TAG:程序員小新人學習 |