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 à des applications qui utilisent le kit de développement logiciel (SDK) Azure pour Java. Comme indiqué dans Configurer la journalisation dans le SDK Azure pour Java, toutes les bibliothèques clientes Azure se connectent via SLF4J, de sorte que vous pouvez utiliser des frameworks de journalisation tels que log4j.
Cet article fournit des conseils pour utiliser les versions Log4J 2.x, mais Log4J 1.x est également pris en charge par le SDK Azure pour Java. Pour activer la journalisation Log4j, vous devez effectuer deux opérations :
- Inclure la bibliothèque Log4j comme dépendance
- Créez un fichier de configuration (soit log4j2.properties, soit log4j2.xml) sous le répertoire du 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, ajoutez le code XML suivant dans le fichier pom.xml du projet. Remplacez le numéro de version 2.16.0 par le dernier numéro de version publié affiché dans la page Liaison Apache Log4j SLF4J.
<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 de configurer log4j : par le biais d’un fichier de propriétés externe ou par le biais d’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 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 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 vous a présenté la configuration de Log4j et comment faire en sorte que le SDK Azure pour Java l’utilise pour la journalisation. Étant donné que le kit de développement logiciel Azure pour Java fonctionne avec tous les frameworks de journalisation SLF4J, consultez le manuel de l’utilisateur SLF4J pour plus d’informations. Si vous utilisez Log4j, vous disposez également d’une grande quantité de conseils de configuration sur son site web. Pour plus d’informations, consultez Bienvenue dans Log4j 2.
Une fois que vous maîtrisez la journalisation, intéressez-vous aux intégrations offertes par Azure dans les frameworks tels que Spring et MicroProfile.