首頁  >  文章  >  Java  >  Java日誌組件間關係的詳細介紹

Java日誌組件間關係的詳細介紹

不言
不言轉載
2019-02-21 15:18:451806瀏覽

這篇文章帶給大家的內容是關於Java日誌元件間關係的詳細介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

一、 總覽

本文章不對日誌元件進行優劣評價,只是對關係進行對比。在日誌中元件中存在這樣的幾種關係, 這幾種關係理解清楚, 有助於我們對日誌的引入和使用。

Java日誌組件間關係的詳細介紹

二、 日誌門面

日誌門面就是指直接引入我們程式中進行記錄日誌的日誌元件,作為日誌門面的這些元件會在程式中直接依賴, 上圖就列舉的幾種常見的日誌門面的組件。像一些軟體直接回預設使用一些元件, 例如Spring使用的就是commons-logging, activiti使用的日誌門面就是slf4j, 其他的軟體也會選用自己認為好用的日誌門面。

三、日誌實作

除了log4j既是門面又是實作之外, commons-logging和slf4j 都是能直接列印日誌的, 都需要依賴一個日誌實作來列印日誌,上圖中也舉了幾個日誌實作。

四、橋接方式

slf4j預設和logback做了一些橋接的處理,那麼橋接的作用是什麼呢, 假如我想使用slf4j做為實現的門面,然而同時我想使用log4j作為真正的日誌實現,這個時候就需要slf4j-logrj12 jar包, 現在應該可以理解橋接方式了。

五、 改變依賴

這裡的作用是為了避免一些衝突, 例如在這樣的場景下,我們使用spring做為開發,而我們開發的軟體要使用的是slf4j作為日誌門面,這個時候因為Spirng預設使用的是commons-logging作為日誌門面,這個時候就會發生一些衝突, 所以我們可以引入jcl-over-slf4j, 透過這個元件把commons-logging覆蓋掉, 為了把歷史軟體內部的依賴覆蓋掉, 就可透過這個方式改變依賴。

#

以上是Java日誌組件間關係的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除