- Dépendances de liaison Log4j2 et SLF4j
Pour que Log4j2 fonctionne avec SLF4J, nous devons inclure les 3 dépendances suivantes.
log4j-slf4j-impl.jar – Liaison Log4j 2 SLF4J. Il permet aux applications codées sur l’API SLF4J d’utiliser Log4j2 comme implémentation.
log4j-api.jar – fournit les composants d’adaptateur nécessaires aux implémenteurs pour créer une implémentation de journalisation.
log4j-core.jar – classes d’implémentation de base de Log4j.
Les dépendances Maven et Gradle peuvent être copiées comme ci-dessous.
pom.xml
Dépendance <>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.15.0</version> </dépendance>
Dépendance <>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.15.0</version>
</dépendance> <dépendance>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.15.0</version>
</dépendance>
- Créez le fichier log4j2.xml dans votre dossier de ressources du projet
Exemple avec un roulement de fichier et utilisant des variables système et conçu pour être utilisé sous le serveur wildfly :
<?xml version=”1.0″ encodage=”UTF-8″?>
<Statut de configuration=”${env:LOG_LEVEL}”>
<Annexes>
<RollingFile name=”LogToFile” fileName=”${env:JBOSS_HOME}/standalone/log/xxx.log” filePattern=”${env:JBOSS_HOME}/standalone/log/xxx.log-%d{aaaa-MM-jj}”> <PatternLayout>
<pattern>[%-5level] %d{aaaa-MM-jj HH:mm:ss.SSS} [%t] %c{1} – %msg%n </pattern> </PatternLayout>
<Politiques>
<TimeBasedTriggeringPolicy interval=”1″ module=”true” />
<OnStartupTriggeringPolicy />
</Policies> < !– 10 fichiers maximum seront créés chaque jour –>
<DefaultRolloverStrategy max=”20″>
<Delete basePath=”${env:JBOSS_HOME}/standalone/log/” maxDepth=”10″>
<!– Supprimer tous les fichiers datant de plus de 30 jours –>
<IfLastModified âge=”30j” />
</Supprimer>
</Stratégie de roulement par défaut>
</RollingFile>
</Annexes>
<Enregistreurs>
<!– évitez les journaux dupliqués avec additivity=false –>
<Logger name=”xxx-be” level=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=”LogToFile”/>
</Enregistreur>
<Root level=”${env:LOG_LEVEL}”>
<AppenderRef ref=”LogToFile”/>
</Racine>
</Enregistreurs>
</Configuration>
- log4j2.xml
- Utilisation de Logger dans le code
importer org.apache.logging.log4j.Logger ;
Enregistreur logger = LogManager.getLogger(“xxx-be”);
logger.info(“démarré”);
J’avais besoin d’une journée entière pour que cela fonctionne. J’espère que cela aidera les développeurs.

Laisser une réponse