Java configure Log4j2 dans votre projet

  1. 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>

  1. 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>

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

Découvrez-en davantage sur le blog de Velislav Krastev

Abonnez-vous maintenant pour continuer à lire et accéder aux archives complètes.

Continuer la lecture