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:
- Schließen Sie die log4j-Bibliothek als Abhängigkeit ein.
- 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.
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.
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.
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
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>
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.