最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

log4j控制臺不打印日志故障的詳細解決方案

 更新時間:2023年08月19日 14:36:34   作者:叫我阿柒啊  
這篇文章主要給大家介紹了關于log4j控制臺不打印日志故障的詳細解決方案,log4j不提供默認配置,因為在某些環(huán)境中可能禁止輸出到控制臺或文件系統,需要的朋友可以參考下

前言

接管了別的項目組的一個代碼,在IDAE調試程序的過程中,發(fā)現log4j日志居然沒有打印在控制臺上,日志相關代碼也沒有問題。

在網上搜索了一圈,總結了一下個人解決這個問題的流程。

流程

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

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

剛開始我都沒有看到xml文件,一直在關注properties文件,發(fā)現也沒啥問題。后來在Vm options添加了**-Dlog4j.debug**,在啟動時打印log4j的信息中發(fā)現,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>決定項目中的每個class綁定哪個appender。<root>是根logger,會綁定多個appender。

logger的additivity默認為true,表示此logger要打印的日志也要傳給root一份,讓root的appender進行打印。

3. 解決方案

方案一

修改additivity為true,或者直接去掉,因為默認值就是true

方案二

在com.test的logger里面將console的appender添加進去。

<!-- logger -->
<logger name="com.test" additivity="false">
   <level value="INFO" />
   <appender-ref ref="fileAppender" />
   <appender-ref ref="myConsole" />
</logger>

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

總結

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

相關文章

  • Java軟件設計模式之橋接模式詳解

    Java軟件設計模式之橋接模式詳解

    這篇文章主要介紹了Java軟件設計模式之橋接模式詳解,橋接模式也叫做橋梁模式,結構型設計模式的一種,顧名思義,就是用來連接兩個部分,為被分離了的抽象部分和實現部分搭橋,需要的朋友可以參考下
    2023-07-07
  • 歸并算法之有序數組合并算法實現

    歸并算法之有序數組合并算法實現

    這篇文章主要介紹了歸并算法之有序數組合并算法實現的相關資料,需要的朋友可以參考下
    2017-07-07
  • Springboot實現ModbusTCP通信的示例詳解

    Springboot實現ModbusTCP通信的示例詳解

    ModbusTCP協議是Modbus由MODICON公司于1979年開發(fā),是一種工業(yè)現場總線協議標準,本文主要介紹了Springboot實現ModbusTCP通信的相關知識,需要的可以參考下
    2023-12-12
  • Java日期時間詳解(LocalDate、LocalTime、LocalDateTime)

    Java日期時間詳解(LocalDate、LocalTime、LocalDateTime)

    Java 1.8前Date類方法過時且線程不安全,SimpleDateFormat因使用Calendar全局變量導致多線程問題,新API引入線程安全的LocalDate、LocalTime、LocalDateTime等不可變類,替代舊類并簡化日期時間處理與轉換
    2025-09-09
  • JUC中的wait與notify方法實現原理詳解

    JUC中的wait與notify方法實現原理詳解

    這篇文章主要介紹了JUC中的wait與notify方法實現原理,在進行wait()之前,就代表著需要爭奪Synchorized,而Synchronized代碼塊通過javap生成的字節(jié)碼中包含monitor?enter和monitor?exit兩個指令
    2023-03-03
  • Java中io流解析及代碼實例

    Java中io流解析及代碼實例

    這篇文章主要介紹了Java中io流解析及代碼實例,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • MyBatis-Plus實現分頁查詢兩種方案詳解

    MyBatis-Plus實現分頁查詢兩種方案詳解

    這篇文章主要為大家詳細介紹了兩種MyBatis-Plus分頁實現方案,分別是PageUtils工具類分頁和MyBatis-Plus原生IPage分頁,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2026-04-04
  • Java獲取當前時間戳案例詳解

    Java獲取當前時間戳案例詳解

    這篇文章主要介紹了Java獲取當前時間戳案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • java并發(fā)編程包JUC線程同步CyclicBarrier語法示例

    java并發(fā)編程包JUC線程同步CyclicBarrier語法示例

    這篇文章主要為大家介紹了java并發(fā)編程工具包JUC線程同步CyclicBarrier語法使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • Java 事務詳解及簡單應用實例

    Java 事務詳解及簡單應用實例

    這篇文章主要介紹了Java 事務詳解及簡單應用實例的相關資料,java事務能夠保證數據的完整性和一致性,當然這是書本上的知識,具體如何應用這里舉例說明,需要的朋友可以參考下
    2016-12-12

最新評論

兴海县| 临海市| 公主岭市| 成都市| 吉木萨尔县| 洪洞县| 巴林左旗| 平潭县| 萍乡市| 林甸县| 铜陵市| 霍州市| 桃园市| 沧州市| 武山县| 河西区| 宜宾市| 长葛市| 西峡县| 双峰县| 原平市| 牟定县| 枞阳县| 玛多县| 垦利县| 清徐县| 建水县| 乌兰察布市| 成安县| 资中县| 康平县| 江门市| 布尔津县| 卢龙县| 大悟县| 阿瓦提县| 黄梅县| 洛川县| 辽中县| 淳安县| 平南县|