- Log4j2- und SLF4j-Bindungsabhängigkeiten
Damit Log4j2 mit SLF4J funktioniert, müssen wir die folgenden drei Abhängigkeiten einbeziehen.
log4j-slf4j-impl.jar – Log4j 2 SLF4J-Bindung. Es ermöglicht Anwendungen, die für die SLF4J-API codiert sind, Log4j2 als Implementierung zu verwenden.
log4j-api.jar – stellt die Adapterkomponenten bereit, die Implementierer zum Erstellen einer Protokollierungsimplementierung benötigen.
log4j-core.jar – Kernklassen der Log4j-Implementierung.
Die Maven- und Gradle-Abhängigkeiten können wie folgt kopiert werden.
pom.xml
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.15.0</version> </abhängigkeit>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.15.0</version>
</Abhängigkeit> <Abhängigkeit>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.15.0</version>
</Abhängigkeit>
- Erstellen Sie die Datei log4j2.xml in Ihrem Projektressourcenordner
Beispiel mit Datei-Rolling und Verwendung von Systemvariablen und für die Verwendung unter dem Wildfly-Server:
<?xml version=”1.0″kodierung=”UTF-8″?>
<Konfigurationsstatus=”${env:LOG_LEVEL}”>
<Appenders>
<RollingFile name=”LogToFile” fileName=”${env:JBOSS_HOME}/standalone/log/xxx.log” filePattern=”${env:JBOSS_HOME}/standalone/log/xxx.log-%d{yyyy-MM-dd}”> <PatternLayout>
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} – %msg%n </pattern> </PatternLayout>
<Richtlinien>
<TimeBasedTriggeringPolicy Intervall=”1″ modulate=”true” />
<OnStartupTriggeringPolicy />
</Richtlinien> <!– Maximal 10 Dateien werden täglich erstellt –>
<DefaultRolloverStrategy max=”20″>
<Delete basePath=”${env:JBOSS_HOME}/standalone/log/” maxDepth=”10″>
<!– Alle Dateien löschen, die älter als 30 Tage sind –>
<IfLastModified age=”30d” />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<Loggers>
<!– vermeiden Sie doppelte Protokolle mit additivity=false –>
<Logger name=”xxx-be” level=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=”LogToFile”/>
</Logger>
<Root level=”${env:LOG_LEVEL}”>
<AppenderRef ref=”LogToFile”/>
</Root>
</Logger>
</Konfiguration>
- log4j2.xml
- Verwenden des Loggers im Code
import org.apache.logging.log4j.Logger;
Logger logger = LogManager.getLogger(“xxx-be”);
logger.info(“gestartet”);
Ich habe einen ganzen Tag gebraucht, damit es funktioniert. Ich hoffe, das hilft den Entwicklern.

Hinterlassen Sie eine Antwort