欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

log4j控制臺(tái)不打印日志故障的詳細(xì)解決方案

 更新時(shí)間:2023年08月19日 14:36:34   作者:叫我阿柒啊  
這篇文章主要給大家介紹了關(guān)于log4j控制臺(tái)不打印日志故障的詳細(xì)解決方案,log4j不提供默認(rèn)配置,因?yàn)樵谀承┉h(huán)境中可能禁止輸出到控制臺(tái)或文件系統(tǒng),需要的朋友可以參考下

前言

接管了別的項(xiàng)目組的一個(gè)代碼,在IDAE調(diào)試程序的過程中,發(fā)現(xiàn)log4j日志居然沒有打印在控制臺(tái)上,日志相關(guān)代碼也沒有問題。

在網(wǎng)上搜索了一圈,總結(jié)了一下個(gè)人解決這個(gè)問題的流程。

流程

1. 判斷用了什么配置文件

不知道是出于什么目的,項(xiàng)目中居然有l(wèi)og4j的properties和xml兩個(gè)配置文件。

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

2. additivity

其次就是<logger>的additivity屬性。

<!-- 打印到控制臺(tái) -->
<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>定義了日志以什么樣的格式輸出到控制臺(tái)或者文件中。<logger>決定項(xiàng)目中的每個(gè)class綁定哪個(gè)appender。<root>是根logger,會(huì)綁定多個(gè)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>

這樣,就解決了在控制臺(tái)不打印日志的問題了。

總結(jié)

到此這篇關(guān)于log4j控制臺(tái)不打印日志故障的詳細(xì)解決方案的文章就介紹到這了,更多相關(guān)log4j控制臺(tái)不打印日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論