Premiers pas avec log4j2

Installation ou configuration

Ce serait une configuration de base dans laquelle nous enverrons tous les messages de journal à la console et à un fichier journal.

Commençons par les bibliothèques. Utilisera maven pour cela:

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.8.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.8.2</version>
    </dependency>

Ensuite, nous écrirons le log4j2.properties (j’utiliserai un fichier de propriétés dans ce cas). Nous allons le mettre dans le chemin du contexte, dans maven, il devrait être dans le dossier des ressources (src/main/resources dans la plupart des cas)

name=PropertiesConfig
property.filename = logs
appenders = console, file

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=${filename}/propertieslogs.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

loggers=file
logger.file.name=com.es.form.studio
logger.file.level = debug
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE

rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT

Pour utiliser cet exemple, vous devrez modifier logger.file.name=com.es.form.studio afin qu’il cible le package de votre choix. Si vous ne le faites pas, le fichier n’affichera aucun journal.