2016-04-21 5 views
2

Ich habe ein paar verpackt und ich möchte Protokollierung trennen.Lockback Logger von der Wurzel ausschließen

<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> 

So habe ich FILE_A FILE_B UND ROOT_FILE; ROOT_FILE enthält Informationen, die vom Root-Logger und von A B- und C-Loggern geschrieben werden.

Wie kann ich FILE_A FILE_B Informationen von ROOT_FILE ausschließen?

Oder in anderen Worten, wie kann ich Protokolldaten (com.c com.b com.a) von Root-Logger ausschließen?

Antwort

2

Set additivity Flag für com.a und com.b Logger zu false.

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

jetzt in diesem Logger protokollierten Ereignisse werden nicht an Mutter Logger (root-Logger in Ihrem Fall) propagiert werden.

documentation

+0

Vielen Dank für Ihre Hilfe. –

Verwandte Themen