Java日志組件間關(guān)系詳解
一、 總覽
本文章不對日志組件進行優(yōu)劣評價,只是對關(guān)系進行對比。在日志中組件中存在這樣的幾種關(guān)系, 這幾種關(guā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)部的依賴覆蓋掉, 就可通過這個方式改變依賴。
相關(guān)文章
java設(shè)計模式之策略模式在促銷活動場景中的使用案例
這篇文章主要為大家介紹了java設(shè)計模式之策略模式在促銷活動場景中案例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05SpringBoot+MyBatis-Plus實現(xiàn)分頁功能
在SpringBoot項目中,結(jié)合MyBatis-Plus(簡稱MP)可以非常方便地實現(xiàn)分頁功能,MP為開發(fā)者提供了分頁插件PaginationInterceptor,只需簡單配置即可使用,本文給大家介紹了SpringBoot+MyBatis-Plus實現(xiàn)分頁功能,文中通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下2024-01-01SpringMVC中的handlerMappings對象用法
這篇文章主要介紹了SpringMVC中的handlerMappings對象用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09JS求多個數(shù)組的重復(fù)數(shù)據(jù)
這篇文章主要介紹了JS求多個數(shù)組的重復(fù)數(shù)據(jù)的辦法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09Java+MySQL實現(xiàn)設(shè)計優(yōu)惠券系統(tǒng)
這篇文章主要介紹了Java+MySQL實現(xiàn)設(shè)計優(yōu)惠券系統(tǒng),文章基于Java與MySQL的相關(guān)資料展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05