5

さまざまなレベルに基づいて「さまざまな」アペンダーを作成しようとしていますが、これまでのところ、ログレベルを分離する方法を見つけることができませんでした....

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

INFO 優先ログのみを追加できるようにする方法が必要です。INFO レベルのロギングは DEBUG マーク付きのロガーにも設定されるため、これは役に立ちません。

もう1つのことは、「同じ」パッケージの場合です。異なるロギングアペンダーを定義できませんでした:

     <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].
4

1 に答える 1

2

log4j Faq および wiki に従って、LevelMatchFilter を使用して正確なログ レベルでフィルタリングできます。

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

はこちら

于 2012-04-18T14:52:14.767 に答える