2017-11-01 3 views
0

ich einen Java-Web-App habe mit log4j2.xml muß ich für jedes Paket zum Beispiel eine andere Ebene haben:Log4J verschiedene Protokollebene für jedes Paket in log4j2.xml

com.myexample.firstmodule.* dies mit INFO Ebene sein soll com.myexample.secondmodule.* dies sollte mit TRACE Ebene

ich einige Antworten zu sagen gefunden, wie das in .propreties Datei zu tun, aber ich konnte nicht verstehen, wie es zu tun mit .xml

Kann mir bitte jemand helfen?

Vielen Dank im Voraus

Antwort

3

Versuchen Sie, diese

<logger name="com.myexample.firstmodule" level="INFO" additivity="false"> 
      <appender-ref ref="STDOUT" /> 
      <appender-ref ref="FILE-AUDIT" /> 
     </logger> 
     <logger name="com.myexample.secondmodule" level="TRACE" additivity="false"> 
      <appender-ref ref="STDOUT" /> 
      <appender-ref ref="FILE-AUDIT" /> 
     </logger> 

in meine Config STDOUT steht für Konsole Logger und FILE-AUDIT für Datei-Logger.

+0

Große Antwort, vielen Dank –

3

Die log4j Website enthält detaillierte Informationen darüber, wie dies zu tun, aber hier ist das grundlegende Beispiel einer XML-Konfiguration geben sie:

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN"> 
    <Appenders> 
    <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.foo.Bar" level="trace"> 
     <AppenderRef ref="Console"/> 
    </Logger> 
    <Root level="error"> 
     <AppenderRef ref="Console"/> 
    </Root> 
    </Loggers> 
</Configuration> 

Wie Sie den Loggers Abschnitt sehen kann ein Logger Tag enthalten, in dem Sie die Ebene für jedes gewünschte Paket definieren können.

+0

Vielen Dank, genau das, was ich suchte –

Verwandte Themen