Ik ben net klaar met het aanpassen van het log4j2.xml-configuratiebestand en ontdekte iets dat ik niet echt begrijp. Dus wat is <Configuration status="SOME_STATUS_HERE">
?
Bijna in alle voorbeelden hier:
http://logging.apache.org/log4j/2.x/ handleiding/configuratie.html
mensen van Apache hebben status toegevoegd aan configuratie.
Dit is bijvoorbeeld de eerste:
<?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>
Antwoord 1, autoriteit 100%
De statuslogger wordt intern gebruikt door log4j2-componenten. Door status="debug"
(of “trace”) in de configuratie in te stellen, wordt deze interne logging uitgevoerd naar de opdrachtregel.
Het zal foutopsporingsinformatie afdrukken over welke log4j2-plug-incomponenten zijn geladen (alle configuratie-elementen zijn toegewezen aan log4j2-plug-ins), en meer details, zoals bijvoorbeeld welke appenders en loggers zijn gevonden, welke parameters ze hebben en hoe ze worden gecombineerd.
p>
Dit is handig voor het oplossen van configuratieproblemen.
Vanaf Log4j 2.9 kunt u de systeemeigenschap log4j2.debug
(geen waarde vereist) gebruiken om de interne Log4j2-statusregistratie in te schakelen, zelfs voordat het configuratiebestand is geladen. Voorafgaand aan versie 2.9 kan hetzelfde worden bereikt met de systeemeigenschap -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE
.