2016-12-08 2 views
0

INFOレベルだけを印刷するにはどうすればよいですか?Log4j2 - 異なるレベルの別々のログ - どのようにINFOレベルだけを印刷しますか?

私の現在のログは、すべてのINFO、WARN、ERROR、およびFATALレベルをコンソールに出力しています。なぜこれが起こっているのか理解しています。 (彼らはすべてINFOの上にあるので)

ちょうどそのことを指定する方法はありますか?INFOレベルはコンソールアペンダーに送信されますが、それ以上のものはありませんか? ThresholdFilterを使用する必要が

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="warn" name="App" packages=""> 
    <Appenders> 

    <File name="logFile" fileName="C:\Users\user\workspace\logs\log.out"> 
     <PatternLayout> 
      <Pattern>%d %p %c{1.} [%t] %m%n</Pattern> 
     </PatternLayout> 
    </File> 

    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 

</Appenders> 
<Loggers> 


    <Logger name="com.App" level="info" additivity="false"> 
     <AppenderRef ref="logFile" level="error"/> 
     <AppenderRef ref="Console" level="info"/> 

    </Logger> 

    <Root level="error"> 
     <AppenderRef ref="logFile" /> 
    </Root> 


</Loggers> 

答えて

1

;:

は現在、以下のlog4j2のXMLを持っています

<ThresholdFilter level="WARN" onMatch="DENY" onMismatch="ACCEPT" /> 

これは、WARNレベルとそれより上のすべてをブロックします。今は情報のみを受け付けます。

関連する問題