log4j和logback的衝突致使日誌輸出異常

      前一陣在在項目中碰到一個日誌問題。工程使用的是log4j,log4j.xml中也配置了工程日誌路徑和策略,並把日誌級別定爲warn。但無論是測試環境仍是線上環境,都發現除了應用自身的日誌,以及指定輸出日誌,工程中依賴的包輸出的日誌都打到了tomcat自身的日誌文件中,而且debug的日誌也一併輸出,致使tomcat的日誌文件增加很是快,沒幾天就把服務器空間佔滿。線上服務器還好,有腳本自動清理,測試環境的服務器直接宕機。 api

      最初,覺得是tomcat配置問題,找到PE檢查腳本,發現跟tomcat並沒有直接關係。無奈只好求助師兄,檢查一下午才發現工程中配置的log4j,但粗心混入了logback的jar包。 tomcat

<!-- 日誌 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.2</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.0.9</version>
				<!-- <scope>runtime</scope> ! -->
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>99.0-does-not-exist</version>
		</dependency>



        都知道log4j和logback會衝突,但沒想到會以這樣的狀況出現,去掉logback-classic包,系統日誌恢復正常了。

        log4j+sjf4j須要的jar包包括: 服務器

              log4j-1.2.xx.jar
             slf4j-api-x.x.x.jar
             slf4j-log4j12-x.x.x.jar 測試

        logback+sjf4j須要的jar包有 debug

             logback-classic-0.9.21.jar
             logback-core-0.9.21.jar
             slf4j-api-1.6.x.jar 日誌

相關文章
相關標籤/搜索