Java konfigurer Log4j2 i dit projekt

  1. Log4j2 og SLF4j bindende afhængigheder
    For at få Log4j2 til at fungere med SLF4J, skal vi inkludere følgende 3 afhængigheder.
    log4j-slf4j-impl.jar – Log4j 2 SLF4J binding. Det tillader programmer, der er kodet til SLF4J API’et, at bruge Log4j2 som en implementering.
    log4j-api.jar – leverer de adapterkomponenter, der kræves for, at implementere kan oprette en logimplementering.
    log4j-core.jar – kerne Log4j Implementeringsklasser.
    Maven- og Gradle-afhængighederne kan kopieres som nedenfor.
    pom.xml

<afhængighed>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.15.0</version> </afhængighed>
<afhængighed>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.15.0</version>
</afhængighed> <afhængighed>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.15.0</version>
</afhængighed>

  1. Opret fil log4j2.xml i mappen Projektressourcer
    Eksempel med filrulling og brug af systemvariabler og lavet til brug under wildfly-server:

<?xml version=”1.0″ kodning=”UTF-8″?>
<Configuration status=”${env:LOG_LEVEL}”>
<Aappenders>
<RollingFile name=”LogToFile” filnavn=”${env:JBOSS_HOME}/standalone/log/xxx.log” filePattern=”${env:JBOSS_HOME}/standalone/log/xxx.log-%d{yyyy-MM-dd}”Z>outout
<pattern>[%-5level] %d{åååå-MM-dd TT:mm:ss.SSS} [%t] %c{1} – %msg%n </pattern> </PatternX7Zout
< Politikker>
<TimeBasedTriggeringPolicy interval=”1″ modulere=”true” />
<OnStartupTriggeringPolicy />
</Politik> <!– Maks. 10 filer vil blive oprettet hver dag –>
<DefaultRolloverStrategy max=”20″>
<Delete basePath=”${env:JBOSS_HOME}/standalone/log/” maxDepth=”10″>
<!– Slet alle filer ældre end 30 dage –>
<IfLastModified age=”30d” />
</Slet >
</StandardRolloverStrategy>
</RollingFile>
</Bilag >
<Loggere>
<!– undgå duplikerede logfiler med additivitet=falsk –>
<Logger name=”xxx-be” level=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=OZY0Z9ZOZY1ZOXY1ZOXY1ZOXY1ZOXY1
</Logger>
<Root level=”${env:LOG_LEVEL}”>
<AppenderRef=”LogToFile”/>
</Root>
</Loggere>
</Konfiguration >

  1. log4j2.xml
  2. Brug af logger i kode
    import org.apache.logging.log4j.Logger;
    Logger logger = LogManager.getLogger(“xxx-be”);
    logger.info(“startet”);

Jeg havde brug for en hel dag for at få det til at fungere, jeg håber, at dette vil hjælpe udviklere.

Efterlad et svar

Oplev mere fra Velislav Krastev Blog

Abonner nu for at fortsætte med at læse og få adgang til det fulde arkiv.

Fortsæt med at læse