log4j控制臺不打印日志故障的詳細(xì)解決方案
前言
接管了別的項(xiàng)目組的一個代碼,在IDAE調(diào)試程序的過程中,發(fā)現(xiàn)log4j日志居然沒有打印在控制臺上,日志相關(guān)代碼也沒有問題。
在網(wǎng)上搜索了一圈,總結(jié)了一下個人解決這個問題的流程。
流程
1. 判斷用了什么配置文件
不知道是出于什么目的,項(xiàng)目中居然有l(wèi)og4j的properties和xml兩個配置文件。

剛開始我都沒有看到xml文件,一直在關(guān)注properties文件,發(fā)現(xiàn)也沒啥問題。后來在Vm options添加了**-Dlog4j.debug**,在啟動時打印log4j的信息中發(fā)現(xiàn),log4j用的是xml文件。

2. additivity
其次就是<logger>的additivity屬性。
<!-- 打印到控制臺 -->
<appender name="myConsole" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
</layout>
</appender>
<!-- 打印到文件中 -->
<appender name="fileAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${logfileName}.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%d{MMdd HH:mm:ss SSS\} %-5p] [%t] %c{3\} - %m%n" />
</layout>
</appender>
<!-- logger -->
<logger name="com.test" additivity="false">
<level value="INFO" />
<appender-ref ref="fileAppender" />
</logger>
<!-- root -->
<root>
<priority value ="INFO"/>
<appender-ref ref="myConsole"/>
</root>在xml配置文件中,<appender>定義了日志以什么樣的格式輸出到控制臺或者文件中。<logger>決定項(xiàng)目中的每個class綁定哪個appender。<root>是根logger,會綁定多個appender。
logger的additivity默認(rèn)為true,表示此logger要打印的日志也要傳給root一份,讓root的appender進(jìn)行打印。
3. 解決方案
方案一
修改additivity為true,或者直接去掉,因?yàn)槟J(rèn)值就是true
方案二
在com.test的logger里面將console的appender添加進(jìn)去。
<!-- logger --> <logger name="com.test" additivity="false"> <level value="INFO" /> <appender-ref ref="fileAppender" /> <appender-ref ref="myConsole" /> </logger>
這樣,就解決了在控制臺不打印日志的問題了。
總結(jié)
到此這篇關(guān)于log4j控制臺不打印日志故障的詳細(xì)解決方案的文章就介紹到這了,更多相關(guān)log4j控制臺不打印日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot+AOP實(shí)現(xiàn)時間參數(shù)格式轉(zhuǎn)換
前端傳過來的時間參數(shù),后端可以自定義時間格式轉(zhuǎn)化使用,這樣想轉(zhuǎn)成什么就轉(zhuǎn)成什么。本文將利用自定義注解AOP實(shí)現(xiàn)時間參數(shù)格式轉(zhuǎn)換,感興趣的可以了解一下2022-04-04
解決SpringCloud下spring-boot-maven-plugin插件的打包問題
這篇文章主要介紹了SpringCloud下spring-boot-maven-plugin插件的打包問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03
springboot項(xiàng)目讀取resources目錄下的文件的9種方式
本文主要介紹了springboot項(xiàng)目讀取resources目錄下的文件的9種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
Mybatis-plus批量去重插入ON DUPLICATE key update使用方式
這篇文章主要介紹了Mybatis-plus批量去重插入ON DUPLICATE key update使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
springboot-jta-atomikos多數(shù)據(jù)源事務(wù)管理實(shí)現(xiàn)
本文主要介紹了springboot-jta-atomikos多數(shù)據(jù)源事務(wù)管理實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
Java編程實(shí)現(xiàn)基于TCP協(xié)議的Socket聊天室示例
這篇文章主要介紹了Java編程實(shí)現(xiàn)基于TCP協(xié)議的Socket聊天室,結(jié)合實(shí)例形式詳細(xì)分析了java基于TCP協(xié)議的Socket聊天室客戶端與服務(wù)器端相關(guān)實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2018-01-01
IDEA 程序包不存在,找不到符號但是明明存在對應(yīng)的jar包(問題分析及解決方案)
這篇文章主要介紹了IDEA 程序包不存在,找不到符號但是明明存在對應(yīng)的jar包 的解決方案,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08
Java實(shí)現(xiàn)的AES256加密解密功能示例
這篇文章主要介紹了Java實(shí)現(xiàn)的AES256加密解密功能,結(jié)合完整實(shí)例形式分析了Java實(shí)現(xiàn)AES256加密解密功能的步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-02-02

