Java configureert Log4j2 in uw project

  1. Log4j2- en SLF4j-bindingsafhankelijkheden
    Om Log4j2 met SLF4J te laten werken, moeten we de volgende 3 afhankelijkheden opnemen.
    log4j-slf4j-impl.jar – Log4j 2 SLF4J-binding. Hiermee kunnen applicaties die zijn gecodeerd met de SLF4J API Log4j2 als implementatie gebruiken.
    log4j-api.jar – biedt de adaptercomponenten die implementeerders nodig hebben om een ​​logimplementatie te maken.
    log4j-core.jar – kern Log4j-implementatieklassen.
    De afhankelijkheden van Maven en Gradle kunnen zoals hieronder worden gekopieerd.
    pom.xml

<afhankelijkheid>
<groupId>org.apache.logging.log4j</groupId>
<artefactId>log4j-api</artefactId>
<versie>2.15.0</versie> </afhankelijkheid>
<afhankelijkheid>
<groupId>org.apache.logging.log4j</groupId>
<artefactId>log4j-core</artefactId>
<versie>2.15.0</versie>
</afhankelijkheid> <afhankelijkheid>
<groupId>org.apache.logging.log4j</groupId>
<artefactId>log4j-slf4j-impl</artefactId>
<versie>2.15.0</versie>
</afhankelijkheid>

  1. Maak een bestand log4j2.xml in de map Projectbronnen
    Voorbeeld met het rollen van bestanden en het gebruik van systeemvariabelen en gemaakt voor gebruik onder wildfly-server:

<?xml versie = “1.0” encoding = “UTF-8”?>
<Configuratiestatus=”${env:LOG_LEVEL}”>
<Appenzen>
<RollingFile name=”LogToFile” fileName=”${env:JBOSS_HOME}/standalone/log/xxx.log” filePattern=”${env:JBOSS_HOME}/standalone/log/xxx.log-%d{yyyy-MM-dd}”> <PatternLayout>
<patroon>[%-5niveau] %d{jjjj-MM-dd HH:mm:ss.SSS} [%t] %c{1} – %msg%n </patroon> </PatternLayout>
<Beleid>
<TimeBasedTriggeringPolicy interval = “1” moduleren = “waar” />
<OnStartupTriggeringPolicy />
</Beleid> <!– Er worden elke dag maximaal 10 bestanden aangemaakt –>
<StandaardRolloverStrategy max=”20″>
<Verwijder basisPath=”${env:JBOSS_HOME}/standalone/log/” maxDepth=”10″>
<!– Verwijder alle bestanden ouder dan 30 dagen –>
<IfLastModified leeftijd = “30d” />
</Verwijderen>
</StandaardRolloverStrategie>
</RollingFile>
</Bijlagen>
<Loggers>
<!– vermijd dubbele logs met additiviteit=false –>
<Loggernaam=”xxx-be” level=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=”LogToFile”/>
</logger>
<Root-niveau=”${env:LOG_LEVEL}”>
<AppenderRef ref=”LogToFile”/>
</Root>
</loggers>
</Configuratie>

  1. log4j2.xml
  2. Logger-incode gebruiken
    importeer org.apache.logging.log4j.Logger;
    Logger-logger = LogManager.getLogger(“xxx-be”);
    logger.info(“gestart”);

Ik had de hele dag nodig om het te laten werken. Ik hoop dat dit ontwikkelaars zal helpen.

Laat een reactie achter

Ontdek meer van Velislav Krastev Blog

Abonneer u nu om te blijven lezen en toegang te krijgen tot het volledige archief.

Lees verder