使用log4j2關(guān)閉debug日志
log4j2關(guān)閉debug日志
最近項目引進(jìn)入一個jar包,啟動之之后debug日志就停不下來了,為了關(guān)閉這個日志花了半個下午。總結(jié)以下處理方式,以供大家參考:
1.如果引入了logback的jar包
排除引用(我的項目里沒有引用)
<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(對于我的項目沒有起作用)
<configuration status="info" monitorInterval="600" >
3.指定加載文件web.xml
添加指定日志文件 (我的項目無效)
<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
對于我的項目有效
log4j.rootLogger=info,stdout
備注:因為我的項目里由于第三方j(luò)ar包引入了slf4j-log4j12和log4j2沖突,所以exclude掉slf4j-log4j12 jar包就是可以的
Log4J和slf4j的debug日志問題
很多人知道
在使用slf4j的過程中通常會引入兩個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)使用最終的日志實現(xiàn)
如Log4j時,又會引入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)的時候,不管怎么配置log4j.properties文件,都會出現(xiàn)部分debug日志輸出不了的情況,具體就是自己寫的那部分的debug日志不會輸出,而如Spring或MyBatis等框架的debug日志就可以輸出。
后面根據(jù)slf4j的警告日志,說是有多個日志實現(xiàn),從而不確定具體選哪一個具體日志實現(xiàn)。經(jīng)過進(jìn)一步的調(diào)試,刪除slf4j-simple的依賴后,所有的debug日志都可以如期的輸出。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java final 和instanceof 關(guān)鍵字的區(qū)別
這篇文章介紹了java final 和instanceof 關(guān)鍵字的區(qū)別,有需要的朋友可以參考一下2013-09-09
Mybatis內(nèi)置參數(shù)之_parameter和_databaseId的使用
這篇文章主要介紹了Mybatis內(nèi)置參數(shù)之_parameter和_databaseId的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
Springboot結(jié)合Mybatis-Plus實現(xiàn)業(yè)務(wù)撤銷回滾功能
本文介紹了如何在Springboot結(jié)合Mybatis-Plus實現(xiàn)業(yè)務(wù)撤銷回滾功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
如何在IDEA中對 hashCode()和 equals() 利用快捷鍵快速進(jìn)行方法重寫
這篇文章主要介紹了如何在IDEA中對 hashCode()和 equals() 利用快捷鍵快速進(jìn)行方法重寫,需要的朋友可以參考下2020-08-08
解決創(chuàng)建springboot后啟動報錯:Failed?to?bind?properties?under‘spri
在Spring?Boot項目中,application.properties和application.yml是用于配置參數(shù)的兩種文件格式,properties格式簡潔但不支持層次結(jié)構(gòu),而yml格式支持層次性,可讀性更好,在yml文件中,要注意細(xì)節(jié),比如冒號后面需要空格2024-10-10

