2016-04-21 15 views
2

私はパッケージがいくつかあり、ログを分離したいと思います。ロックバックをrootから除外します

<property name="A" value="com.a"/> 
<property name="B" value="com.b"/> 
<property name="C" value="com.c"/> 

<logger name="${A}" level="DEBUG"> 
    <appender-ref ref="FILE_A"/> 
</logger> 

<logger name="${B}" level="DEBUG"> 
    <appender-ref ref="FILE_B"/> 
</logger> 

<logger name="${C}" level="DEBUG"> 
    <appender-ref ref="FILE_B"/> <!-- yes B --> 
</logger> 

<root level="DEBUG">  
    <-- used for other logs too -> 
    <appender-ref ref="STDOUT"/> 
    <appender-ref ref="ROOT_FILE"/> 
</root> 

私はFILE_A FILE_BとROOT_FILEを持っています。 ROOT_FILEには、ルート・ロガーとAロガーおよびCロガーによって書き込む情報が含まれています。

ROOT_FILEからFILE_A FILE_B情報を除外する方法はありますか?

つまり、ログデータ(com.c com.b com.a)をルートロガーから除外することはできますか?

答えて

2

additivityフラグcom.acom.bロガーをfalseに設定します。

<logger name="${A}" level="DEBUG" additivity="false"> 
    <appender-ref ref="FILE_A"/> 
</logger> 

このロガーに記録されたイベントは、親ロガー(あなたの場合はルートロガー)に伝播されません。

documentation

+0

ありがとうございました。 –

関連する問題