Accedere con Azure SDK per Java e Log4j

Questo articolo illustra come configurare Log4j per le applicazioni che usano il Azure SDK per Java. Come indicato in Configurare la registrazione nel Azure SDK per Java, tutte le librerie client di Azure registrano tramite SLF4J, in modo da poter usare framework come Log4j 2 per semplificare la risoluzione dei problemi.

Questo articolo fornisce indicazioni per l'uso delle versioni di Log4J 2.x, ma la Azure SDK per Java supporta anche Log4J 1.x. Per abilitare la registrazione log4j, completare questi due passaggi:

  1. Includere la libreria log4j come dipendenza.
  2. Creare un file di configurazione (log4j2.properties o log4j2.xml) nella directory del progetto /src/main/resources .

Per altre informazioni sulla configurazione di log4j, vedere Benvenuti in Log4j 2.

Aggiungi la dipendenza Maven

Per aggiungere la dipendenza Maven, includere il codice XML seguente nel file di pom.xml del progetto. Sostituire il numero di versione 2.16.0 con il numero di versione più recente visualizzato nella pagina di associazione Apache Log4j SLF4J.

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

Nota

A causa della vulnerabilità nota CVE-2021-44228, assicurarsi di usare Log4j versione 2.16 o successiva.

Configurare Log4j

È possibile configurare Log4j in due modi comuni: tramite un file di proprietà esterno o tramite un file XML esterno. Nelle sezioni seguenti vengono descritti questi approcci.

Usare un file di proprietà

Inserire un file di proprietà flat denominato log4j2.properties nella directory /src/main/resources del progetto. Questo file deve avere il formato seguente:

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

Usare un file XML

Inserire un file XML denominato log4j2.xml nella directory /src/main/resources del progetto. Il file deve seguire questa struttura:

<?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>

Passaggi successivi

Questo articolo ha illustrato la configurazione di Log4j e come usare Azure SDK per Java per la registrazione. Poiché Azure SDK per Java funziona con tutti i framework di registrazione SLF4J, è consigliabile esaminare il manuale dell'utente SLF4J per altri dettagli. Se si usa Log4j, sul sito Web è disponibile anche una vasta gamma di indicazioni sulla configurazione. Per altre informazioni, vedere Benvenuto in Log4j 2!

Dopo aver padroneggiato il logging, prendi in considerazione le integrazioni che Azure offre per framework come Spring.