溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java日志組件間關(guān)系詳解

發(fā)布時間:2020-08-20 05:41:05 來源:腳本之家 閱讀:153 作者:laozhang 欄目:編程語言

一、 總覽

本文章不對日志組件進(jìn)行優(yōu)劣評價,只是對關(guān)系進(jìn)行對比。在日志中組件中存在這樣的幾種關(guān)系, 這幾種關(guān)系理解清楚, 有助于我們對日志的引入和使用。

Java日志組件間關(guān)系詳解

二、 日志門面

日志門面就是指直接引入我們程序中進(jìn)行記錄日志的日志組件,作為日志門面的這些組件會在程序中直接依賴, 上圖中就列舉的幾種常見的日志門面的組件。像一些軟件直接回默認(rèn)使用一些組件, 比如Spring使用的就是commons-logging, activiti使用的日志門面就是slf4j, 其他的軟件也都會選用自己認(rèn)為好用的日志門面。

三、 日志實現(xiàn)

除了log4j既是門面又是實現(xiàn)之外, commons-logging和slf4j 都是能直接打印日志的, 都需要依賴一個日志實現(xiàn)來打印日志,上圖中也舉了幾個日志實現(xiàn)。

四、橋接方式

slf4j默認(rèn)和logback做了一些橋接的處理,那么橋接的作用是什么呢, 假如我想使用slf4j做為實現(xiàn)的門面,然而同時我想使用log4j作為真正的日志實現(xiàn),這個時候就需要slf4j-logrj12 jar包, 現(xiàn)在應(yīng)該可以理解橋接方式了。

五、 改變依賴

這里的作用是為了避免一些沖突, 例如在這樣的場景下,我們使用spring做為開發(fā),而我們開發(fā)的軟件要使用的是slf4j作為日志門面,這個時候因為Spirng默認(rèn)使用的是commons-logging作為日志門面,這個時候就會發(fā)生一些沖突, 所以我們可以引入jcl-over-slf4j, 通過這個組件把commons-logging覆蓋掉, 為了把歷史軟件內(nèi)部的依賴覆蓋掉, 就可通過這個方式改變依賴。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI