Freigeben über


Protokollieren mit dem Azure SDK für Java und Log4j

Dieser Artikel bietet eine Übersicht, wie Sie Protokollierung zu Anwendungen mithilfe von Log4j hinzufügen, die das Azure SDK für Java verwenden. Wie unter Konfigurieren von Protokollierung im Azure SDK für Java beschrieben, führen alle Azure-Clientbibliotheken Protokollierung über SLF4J aus, damit Sie Protokollierungsframeworks wie log4j verwenden können.

Dieser Artikel enthält Anleitungen zur Verwendung der Log4j 2.x-Releases, aber auch Log4j 1.x wird gleichermaßen vom Azure SDK für Java unterstützt. Zum Aktivieren der log4j-Protokollierung müssen Sie zwei Schritte ausführen:

  1. Schließen Sie die log4j-Bibliothek als Abhängigkeit ein.
  2. Erstellen Sie eine Konfigurationsdatei (entweder log4j2.properties oder log4j2.xml) im Projektverzeichnis /src/main/resources.

Weitere Informationen zum Konfigurieren von log4j finden Sie unter Willkommen bei Log4j 2.

Hinzufügen der Maven-Abhängigkeit

Um die Maven-Abhängigkeit hinzuzufügen, fügen Sie den folgenden XML-Code in die Datei pom.xml des Projekts ein. Ersetzen Sie die Versionsnummer 2.16.0 durch die neueste versionsnummer, die auf der Apache Log4j SLF4J Binding-Seite angezeigt wird.

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

Hinweis

Aufgrund bekannter Sicherheitsanfälligkeit CVE-2021-44228 sollten Sie Log4j Version 2.16 oder höher verwenden.

Konfigurieren von Log4j

Es gibt zwei gängige Methoden zum Konfigurieren von log4j: durch eine externe Eigenschaftendatei oder durch eine externe XML-Datei. Diese Vorgehensweisen werden unten aufgeführt.

Verwenden einer Eigenschaftendatei

Sie können eine flache Eigenschaftendatei namens log4j2.properties im Verzeichnis "/src/Standard/resources" des Projekts platzieren. Diese Datei sollte die folgende Form haben:

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

Verwenden einer XML-Datei

Sie können eine XML-Datei namens log4j2.xml im Verzeichnis "/src/Standard/resources" des Projekts platzieren. Diese Datei sollte die folgende Form haben:

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

Nächste Schritte

In diesem Artikel wurde die Konfiguration der Log4j behandelt und erläutert, wie das Azure SDK für Java für Protokollierung verwendet wird. Da das Azure SDK für Java mit allen SLF4J-Protokollierungsframeworks funktioniert, sollten Sie das SLF4J-Benutzerhandbuch zu Rate ziehen, um weitere Informationen zu erhalten. Wenn Sie Log4j verwenden, finden Sie auch zahlreiche Konfigurationsanleitungen auf der zugehörigen Website. Weitere Informationen finden Sie unter Willkommen bei Log4j 2!

Nachdem Sie die Protokollierung verstanden haben, können Sie sich die Integrationen von Azure in Frameworks wie Spring und MicroProfile ansehen.