1. 程式人生 > >slf4j日誌整合框架的一些問題

slf4j日誌整合框架的一些問題

cas 現在 別人 記錄 .org html spec artifact per

概述:

今天遇到一個問題,現在流程的形式,記錄一下解法問題的一些過程,

你將收獲解決常用包日誌系統沖突的解決辦法:

Code

由於要使用log4j所以引入以下依賴

 1 <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
 2         <dependency>
 3             <groupId>org.slf4j</groupId>
 4             <artifactId>slf4j-api</artifactId>
 5
<version>1.7.21</version> 6 </dependency> 7 <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --> 8 <dependency> 9 <groupId>org.slf4j</groupId> 10 <artifactId>slf4j-log4j12</artifactId> 11
<version>1.7.21</version> 12 </dependency>

編寫llog4j.properties

 1 # Set specific logger levels.
 2 log4j.logger.org.mortbay.log=fatal
 3 log4j.logger.org.apache.http=fatal
 4 log4j.logger.org.apache.http.headers=fatal
 5 log4j.logger.org.apache.http.wire=fatal
6 # For HttpClient 3, which is used by FirefoxDriver 7 log4j.logger.httpclient.wire=fatal 8 log4j.logger.org.apache.commons=fatal 9 log4j.logger.com.gargoylesoftware.htmlunit=fatal 10 log4j.logger.com.gargoylesoftware.htmlunit.WebTestCase=fatal 11 # Change this to TRACE when enabling the debugger. 12 log4j.logger.com.gargoylesoftware.htmlunit.javascript.DebugFrameImpl=fatal

運行test程序:

發現無論把日誌級別提升到多高,甚至關閉,依然運行出現問題,控制臺輸出大量日誌,奇怪,明明定制了輸出規範,怎麽還會輸出日誌呢,

這個時間,我第一想到了就是存在的某個包 引入了日誌系統,導致存在多個日誌發生沖突, 所以我已存著那個包出現問題,找到了logback這個包,既然我們使用log4j slf4j那麽這個兩個是不能共存的,所以先排除這個

1 <exclusion>
2                     <groupId>ch.qos.logback</groupId>
3                     <artifactId>logback-core</artifactId>
4                 </exclusion>
5                 <exclusion>
6                     <groupId>ch.qos.logback</groupId>
7                     <artifactId>logback-classic</artifactId>
8                 </exclusion>

然後繼續測試,又出現了下面的異常

技術分享圖片

讀打印的異常,可以看出,出現了反復導致溢出,那麽排除它(這裏也可以選擇調整優先級

<exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>log4j-over-slf4j</artifactId>
                </exclusion>

最後:這裏說一下,雖然很多包提供了日誌管理lib,但是還是希望你能夠花時間把這些包全部排除,引入自己的包,還有配置文件,這樣你的項目在導出到別人那裏使用才不會出現太多問題。

slf4j日誌整合框架的一些問題