溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么使用log4j2關(guān)閉debug日志

發(fā)布時(shí)間:2021-12-24 14:26:58 來源:億速云 閱讀:419 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“怎么使用log4j2關(guān)閉debug日志”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么使用log4j2關(guān)閉debug日志”吧!

log4j2關(guān)閉debug日志

最近項(xiàng)目引進(jìn)入一個(gè)jar包,啟動(dòng)之之后debug日志就停不下來了,為了關(guān)閉這個(gè)日志花了半個(gè)下午??偨Y(jié)以下處理方式,以供大家參考:

1.如果引入了logback的jar包,排除引用(我的項(xiàng)目里沒有引用)

<exclusions>
 <exclusion>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
 </exclusion>
 <exclusion>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-core</artifactId>
 </exclusion>
</exclusions>

2.調(diào)整log4j2的日志打印級別,log4j2.xml(對于我的項(xiàng)目沒有起作用)

<configuration status="info" monitorInterval="600" >

3.指定加載文件web.xml 中添加指定日志文件 (我的項(xiàng)目無效)

  <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>WEB-INF/classes/log4j2.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  </listener>

4.添加log4j.properties (對于我的項(xiàng)目有效)

log4j.rootLogger=info,stdout

備注:因?yàn)槲业捻?xiàng)目里由于第三方j(luò)ar包引入了slf4j-log4j12和log4j2沖突,所以exclude掉slf4j-log4j12 jar包就是可以的

Log4J和slf4j的debug日志問題

很多人知道,在使用slf4j的過程中通常會引入兩個(gè)jar包,大概如下:

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.21</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.21</version>
</dependency>

當(dāng)使用最終的日志實(shí)現(xiàn),如Log4j時(shí),又會引入log4j相關(guān)的jar包,如下:

<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.21</version>
</dependency>

這樣就可以在Java應(yīng)用程序(Java Web服務(wù)和Java程序)中,輸出由slf4j編寫的日志。

但在使用過程中發(fā)現(xiàn),在執(zhí)行測試用例(加載Spring或未加載Spring)的時(shí)候,不管怎么配置log4j.properties文件,都會出現(xiàn)部分debug日志輸出不了的情況,具體就是自己寫的那部分的debug日志不會輸出,而如Spring或MyBatis等框架的debug日志就可以輸出。

后面根據(jù)slf4j的警告日志,說是有多個(gè)日志實(shí)現(xiàn),從而不確定具體選哪一個(gè)具體日志實(shí)現(xiàn)。經(jīng)過進(jìn)一步的調(diào)試,刪除slf4j-simple的依賴后,所有的debug日志都可以如期的輸出。

感謝各位的閱讀,以上就是“怎么使用log4j2關(guān)閉debug日志”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么使用log4j2關(guān)閉debug日志這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI