- Log4j2 an SLF4j Bindung Ofhängegkeeten
Fir Log4j2 mat SLF4J ze schaffen, musse mir déi folgend 3 Ofhängegkeeten enthalen.
log4j-slf4j-impl.jar – Log4j 2 SLF4J verbindlech. Et erlaabt Uwendungen kodéiert op der SLF4J API Log4j2 als Implementatioun ze benotzen.
log4j-api.jar – bitt d’Adapterkomponenten déi fir Implementateuren erfuerderlech sinn fir eng Loggingsimplementatioun ze kreéieren.
log4j-core.jar – Kär Log4j Ëmsetzung Klassen.
D’Maven a Gradle Ofhängegkeete kënne kopéiert ginn wéi hei ënnendrënner.
pom.xml
<ofhängegkeet>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.15.0</version> </ofhängegkeet>
<ofhängegkeet>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.15.0</version>
</ofhängegkeet> <ofhängegkeet>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.15.0</version>
< / Ofhängegkeet>
- Erstellt Datei log4j2.xml an Ärem Project Ressourcen Dossier
Beispill mat Dateirollen a mat Systemvariablen a gemaach fir ënner Wildfly Server ze benotzen:
<?xml Versioun = “1.0” Encoding = “UTF-8”? >
<Configuration status=”${env:LOG_LEVEL}”>
<Aappenders>
<RollingFile name = “LogToFile” fileName = “${env:JBOSS_HOME}/standalone/log/xxx.log” filePattern=”${env:JBOSS_HOME}/standalone/log/xxx.log-%d{yyyy-MM-dd}”<OZOZ>OZOUT
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} – %msg%n </pattern> </PatternLayoutOZYX6
< Politiken >
<TimeBasedTriggeringPolicy interval=”1″ modulate=”true” />
<OnStartupTriggeringPolicy />
</Policies> <!– Max 10 Dateien ginn all Dag erstallt –>
<DefaultRolloverStrategy max = “20”>
<Delete basePath=”${env:JBOSS_HOME}/standalone/log/” maxDepth=”10″>
<!– Läschen all Dateien méi al wéi 30 Deeg –>
<IfLastModified Alter = “30d” />
</> läschen
</DefaultRolloverStrategy>
</RollingFile>
</Appenders >
<Loggers>
<!– vermeit duplizéiert Logbicher mat Additivitéit = falsch –>
<Logger name=”xxx-be” level=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=”LogToFile”/>
</Logger>
<Root level=”${env:LOG_LEVEL}”>
<AppenderRef ref=”LogToFile”/>
</Root>
</Loggers>
</Configuratioun>
- log4j2.xml
- Benotzt Logger am Code
import org.apache.logging.log4j.Logger;
Logger logger = LogManager.getLogger(“xxx-be”);
logger.info(“ugefaangen”);
Ech hunn de ganzen Dag gebraucht fir et ze funktionnéieren, ech hoffen dat hëlleft Entwéckler.

Verloossen eng Äntwert