Q3:INFO〜WARNレベルのみ出力するには?

Q2:WARN レベルのみ出力するには?と同様フィルタを使いますが、出力レベルの範囲でフィルタリングする場合は、LevelRangeFilter を使用します。

LevelRangeFilter のパラメータに、出力する最小レベル,最大レベルを指定します。その他は LevelMatchFilter と同様です。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

  <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
    <param name="File"   value="log/example.log" />
    <param name="Append" value="true" />                
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%t %-5p %c{2} - %m%n"/>
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
      <param name="LevelMin" value="INFO"/>    
      <param name="LevelMax" value="WARN"/>    
      <param name="AcceptOnMatch" value="true"/>
    </filter>
    <filter class="org.apache.log4j.varia.DenyAllFilter"/> 
  </appender>

  <root>
    <level value ="debug" />
    <appender-ref ref="FILE" />
  </root>

</log4j:configuration>

トップページへ戻る