- 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>
- 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 >
- log4j2.xml
- 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