2016-08-04 21 views
2

が前方にかなりストレートです:LOG4J2:複数のロガーは、複数のアペンダに、異なるログレベルで私が何をしようとしている

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration> 
    <Appenders> 
    <Console name="Console"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 

    <File name = "hibernateFile" fileName = "${artifactId}/logs/hibernate.log"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </File> 

    <File name = "springFile" fileName = "${artifactId}/logs/spring.log"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </File> 

    <File name = "rootFile" fileName = "${artifactId}/logs/root.log"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </File>   

    </Appenders> 
    <Loggers> 
    <Root level="trace"> 
     <AppenderRef ref="Console"/> 
     <AppenderRef ref="rootFile"/> 
    </Root> 

    <Logger name ="org.springframework" level = "debug"> 
     <AppenderRef ref = "Console" level = "info"/> 
     <AppenderRef ref = "springFile" level = "debug"/> 
    </Logger> 

    <Logger name ="org.hibernate" level = "debug"> 
     <AppenderRef ref = "Console" level ="info"/> 
     <AppenderRef ref = "hibernateFile" level = "debug"/> 
    </Logger> 

    </Loggers> 
</Configuration> 

私は私のコンソールアペンダに表示するだけ重要なメッセージをしたい、しばらく私は詳細なメッセージをファイルアペンダにルーティングする必要があります。

しかし、私はデバッガやトレースメッセージを(例えば私が開発しているときに)ルーティングしたいかもしれないので、アペンダ自体をフィルタしたくありません。

AppenderRefのログレベルでフィルタリングすることができますが、上記のxmlで説明したように、これを試してみましたが、DEBUGレベルのメッセージはコンソールにルーティングされます。

また、AppenderRefにThresholdFilterを追加しようとしましたが、それもフィルタリングされません。

<Logger name ="org.hibernate" level = "debug"> 
    <AppenderRef ref = "Console"> 
     <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/> 
    </AppenderRef> 
    <AppenderRef ref = "hibernateFile" level = "debug"/> 
</Logger> 

答えて

1

additivity="false"は、トリックを行う必要があります。

<Logger name="org.hibernate" level="debug" additivity="false"> 

ログイベントもまだルートロガーに転送されているかどうかを制御しadditivity

関連する問題