Java日誌元件間關係

2021-09-12 17:03:18 字數 934 閱讀 4230

一、 總覽

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

二、 日誌門面

日誌門面就是指直接引入我們程式中進行記錄日誌的日誌元件(例如slf4j不是具體的日誌解決方案,它只服務於各種各樣的日誌系統,它需要下面的具體日誌實現來進行記錄日誌, 而日誌實現也需要乙個門面來與日誌系統進行連線, 可以說日誌門面就是實現與系統之間的乙個聯結器),作為日誌門面的這些元件會在程式中直接依賴, 上圖中就列舉的幾種常見的日誌門面的元件。像一些軟體直接回預設使用一些元件, 比如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日誌元件間關係

一 總覽 本文章不對日誌元件進行優劣評價,只是對關係進行對比。在日誌中元件中存在這樣的幾種關係,這幾種關係理解清楚,有助於我們對日誌的引入和使用。二 日誌門面 日誌門面就是指直接引入我們程式中進行記錄日誌的日誌元件 例如slf4j不是具體的日誌解決方案,它只服務於各種各樣的日誌系統,它需要下面的具體...

Vue元件通訊(關係元件和非關係元件)

元件是vue的乙個重要概念,有效的利用了封裝的思想 可以模擬js的函式或者類 我們通常會把乙個單頁應用中的各種模組拆分成乙個乙個單獨的元件,利用這些元件組裝成乙個完整的功能,具有很好的復用性和維護性。既然是封裝就涉及輸入和輸出,而多個元件之間如何處理輸入和輸出是我們經常會面臨到的問題,也是我們經常說...

程序間關係

1 程序組 程序組是乙個或多程序的集合。通常,它們同一作業相關聯,可以接收來自同一終端的各種訊號。每個程序組有乙個唯一的程序組id。每個程序都可以有乙個組長程序。組長程序的標識是,其程序組id等於其程序id。組長程序可以建立乙個程序組,建立該組中的程序,然後終止。只要在某個程序組中乙個程序存在,則該...