1

一部のパッケージからファイルへのすべてを出力し、WARN 以上のメッセージをコンソールに出力するロガー構成を探しています。これを実装するために、次の log4j.xml ファイルを書きました。

<?xml version="1.0" encoding="UTF-8" ?>

<appender name="DIAGAPPDENDER" class="org.apache.log4j.RollingFileAppender"> 
    <param name="File" value="${rpt.trace}/diagnostic.log"/>
</appender> 

<appender name="ROOTAPPENDER" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout"> 
</appender>

<logger name="rpt.diagnostic">
    <level value ="ALL" />
    <appender-ref ref="DIAGAPPDENDER"/> 
</logger>

<root>
    <priority value ="WARN" />
    <appender-ref ref="ROOTAPPENDER" /> 
</root>

ただし、すべてのレベルのログ メッセージは、ファイルだけでなくコンソールにも表示されますが、これは私が必要としているものではありません。私は何が欠けていますか?ありがとう。ポール。

4

1 に答える 1

4

それは簡単です 。paramしきい値を追加してconsole appender、レベル値がそれ以上のメッセージが表示される任意のレベルを設定できます。

<?xml version="1.0" encoding="UTF-8" ?>

<appender name="DIAGAPPDENDER" class="org.apache.log4j.RollingFileAppender"> 
    <param name="File" value="${rpt.trace}/diagnostic.log"/>
</appender> 

<appender name="ROOTAPPENDER" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout"> 
    <param name="Threshold" value="WARN" /> 
</appender>

<logger name="rpt.diagnostic">
    <level value ="ALL" />
    <appender-ref ref="DIAGAPPDENDER"/> 
</logger>

<root>
    <priority value ="WARN" />
    <appender-ref ref="ROOTAPPENDER" /> 
</root>
于 2013-02-06T11:49:13.633 に答える