Partager via


Journalisation avec le SDK Azure pour Java et Log4j

Cet article fournit une vue d’ensemble de l’ajout de la journalisation à l’aide de Log4j aux applications qui utilisent le Kit de développement logiciel (SDK) Azure pour Java. Comme mentionné dans Configurer la journalisation dans le Kit de développement logiciel (SDK) Azure pour Java, toutes les bibliothèques clientes Azure se connectent via SLF4J, afin de pouvoir utiliser des frameworks de journalisation tels que log4j.

Cet article fournit des conseils pour utiliser les versions de Log4J 2.x, mais Log4J 1.x est également pris en charge par le Kit de développement logiciel (SDK) Azure pour Java. Pour activer la journalisation log4j, vous devez effectuer deux opérations :

  1. Inclure la bibliothèque log4j en tant que dépendance,
  2. Créez un fichier de configuration (log4j2.properties ou log4j2.xml) sous le répertoire de projet /src/main/resources.

Pour plus d’informations sur la configuration de log4j, consultez Bienvenue dans Log4j 2.

Ajouter la dépendance Maven

Pour ajouter la dépendance Maven, incluez le code XML suivant dans le fichier pom.xml du projet. Remplacez le numéro de version 2.16.0 par le numéro de la dernière version figurant sur la page de liaison SLF4J d'Apache Log4j.

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.16.0</version>
</dependency>

Remarque

En raison d’une vulnérabilité connue CVE-2021-44228, veillez à utiliser Log4j version 2.16 ou ultérieure

Configuration de Log4j

Il existe deux façons courantes de configurer Log4j : via un fichier de propriétés externes ou via un fichier XML externe. Ces approches sont décrites ci-dessous.

Utilisation d’un fichier de propriétés

Vous pouvez placer un fichier de propriétés plat nommé log4j2.properties dans le répertoire /src/main/resources répertoire du projet. Ce fichier doit prendre la forme suivante :

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d %5p [%t] %c{3} - %m%n

logger.app.name = com.azure.core
logger.app.level = ERROR

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

Utilisation d’un fichier XML

Vous pouvez placer un fichier XML nommé log4j2.xml dans le répertoire /src/main/resources répertoire du projet. Ce fichier doit prendre la forme suivante :

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %5p [%t] %c{3} - %m%n" />
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="com.azure.core" level="error" additivity="true">
            <appender-ref ref="console" />
        </Logger>
        <Root level="info" additivity="false">
            <appender-ref ref="console" />
        </Root>
     </Loggers>
</Configuration>

Étapes suivantes

Cet article a abordé la configuration de Log4j et la façon de faire en sorte que le Kit de développement logiciel (SDK) Azure pour Java l’utilise pour la journalisation. Étant donné que le Kit de développement logiciel (SDK) Azure pour Java fonctionne avec toutes les infrastructures de journalisation SLF4J, envisagez d’examiner le manuel de l’utilisateur SLF4J pour de plus amples informations. Si vous utilisez Log4j, il existe également une grande quantité d’instructions de configuration sur son site web. Pour plus d’informations, consultez Bienvenue dans Log4j 2 !

Après avoir masterisé la journalisation, examinez les intégrations qu’Azure propose dans des frameworks tels que Spring et MicroProfile.