sl4j日誌橋接器

橋接舊的日誌框架(Bridging)

通常,您依賴的某些組件依賴於SLF4J以外的日誌記錄API。您也可以假設這些組件在不久的將來不會切換到SLF4J。爲了解決這種情況,SLF4J附帶了幾個橋接模塊,這些模塊將對log4j,JCL和java.util.logging API的調用重定向,就好像它們是對SLF4J API一樣。

橋接解決的是項目中日誌的遺留問題,當系統中存在之前的日誌API,可以通過橋接轉換到slf4j的實現

1. 先去除之前老的日誌框架的依賴
2. 添加SLF4J提供的橋接組件
3. 爲項目添加SLF4J的具體實現

 

遷移的方式:

如果我們要使用SLF4J的橋接器,替換原有的日誌框架,那麼我們需要做的第一件事情,就是刪除掉原有項目中的日誌框架的依賴。然後替換成SLF4J提供的橋接器。

<!-- log4j-->
<dependency>
	<groupId>org.slf4j</groupId>
	<artifactId>log4j-over-slf4j</artifactId>
	<version>1.7.27</version>
</dependency>

<!-- jul -->
<dependency>
	<groupId>org.slf4j</groupId>
	<artifactId>jul-to-slf4j</artifactId>
	<version>1.7.27</version>
</dependency>

<!--jcl -->
	<dependency>
	<groupId>org.slf4j</groupId>
	<artifactId>jcl-over-slf4j</artifactId>
<version>

注意問題:

1. jcl-over-slf4j.jar和 slf4j-jcl.jar不能同時部署。前一個jar文件將導致JCL將日誌系統的選擇委託給SLF4J,後一個jar文件將導致SLF4J將日誌系統的選擇委託給JCL,從而導致無限循環。

2. log4j-over-slf4j.jar和slf4j-log4j12.jar不能同時出現

3. jul-to-slf4j.jar和slf4j-jdk14.jar不能同時出現

4. 所有的橋接都只對Logger日誌記錄器對象有效,如果程序中調用了內部的配置類或者是Appender,Filter等對象,將無法產生效果。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章