簡體   English   中英

根據log4j中的日志記錄級別創建不同的日志

[英]Creating different logs based on logging level in log4j

我試圖根據不同的級別創建“不同的”appender但到目前為止我找不到隔離日志記錄級別的方法....

<category name="com.sample" additivity="false">
    <priority value="INFO" />
    <appender-ref ref="AllAsync"/> 
    <appender-ref ref="ConsoleAppender"/> 
  </category>

我需要一種能夠僅添加INFO優先級日志的方法。 由於INFO級別的日志記錄也會使用DEBUG標記的記錄器...這對我沒有幫助。

另一件事是'同一'包我無法定義不同的日志記錄appender:

     <category name="com.sample" additivity="false">
            <priority value="INFO" />
            <appender-ref ref="AllAsync"/> 
            <appender-ref ref="ConsoleAppender"/> 
          </category>

     <category name="com.sample" additivity="false">
        <priority value="DEBUG" />
        <appender-ref ref="AllAsync"/> 
        <appender-ref ref="ConsoleAppender"/> 
      </category>

在這里我得到的錯誤類似於:

log4j:ERROR Attempted to append to closed appender named [AllAsync].
log4j:ERROR Attempted to append to closed appender named [ConsoleAppender].
log4j:ERROR Attempted to append to closed appender named [ConsoleAppender].
log4j:ERROR Attempted to append to closed appender named [ConsoleAppender].

您可以根據log4j Faq和wiki使用LevelMatchFilter按精確日志級別進行過濾。

 <filter class="org.apache.log4j.varia.LevelMatchFilter">
         <param name="LevelToMatch" value="info"/> 
         <param name="AcceptOnMatch" value="true"/>  
 </filter>

這里的例子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM