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等對象,將無法產生效果。
?
總結