2014-01-11 15 views
36

Ich habe gerade die Anpassung der Konfigurationsdatei log4j2.xml abgeschlossen und etwas entdeckt, das ich nicht wirklich verstehe. Was ist also <Configuration status="SOME_STATUS_HERE">?Was bedeutet "Status" in der Log4j2-Konfiguration?

Fast in allen Beispielen hier: http://logging.apache.org/log4j/2.x/manual/configuration.html Leute von Apache hinzugefügt Status Konfiguration.

Zum Beispiel ist hier die erste:

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN"> <!--status="WARN" - what is this???--> 

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

<Loggers> 
    <Root level="error"> 
    <AppenderRef ref="Console"/> 
    </Root> 
</Loggers> 

</Configuration> 

Antwort

41

Der Status Logger verwendet wird intern von log4j2 Komponenten. Die Einstellung status="debug" (oder "Trace") in der Konfiguration bewirkt, dass diese interne Protokollierung an die Befehlszeile ausgegeben wird.

Es werden Debug-Informationen darüber ausgedruckt, welche log4j2-Plug-in-Komponenten geladen sind (alle Konfigurationselemente werden log4j2-Plugins zugeordnet) und weitere Details wie zum Beispiel welche Appender und Logger gefunden wurden, welche Parameter sie haben und wie sie kombiniert sind.

Dies ist hilfreich bei der Behebung von Konfigurationsproblemen.

Ab Log4j 2.9 können Sie die Systemeigenschaft log4j2.debug (kein Wert erforderlich) verwenden, um die interne Log4j2-Statusprotokollierung noch vor dem Laden der Konfigurationsdatei zu aktivieren. Vor Version 2.9 kann dasselbe mit der Systemeigenschaft -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE erreicht werden.

20

Wenn jemand sich fragt, wo die Log4j2 XML <Configuration> Elementattribute in der Log4j2-Dokumentation erwähnt werden, dachte ich, es könnte nützlich sein, den Link here bereitzustellen. Siehe auch eine Momentaufnahme der Attributliste unter:

Configuration element attributes

4

Und falls jemand sucht nach den richtigen Ebenen für die Status-Attribut sie sind: „Spur“, „Debug“, „Info“, " warn "," Fehler "und" fatal ".

Log4j2 Configuration