Protokollieren mit dem Azure SDK für Java und java.util.logging

Dieser Artikel bietet eine Übersicht, wie Sie Protokollierung zu Anwendungen mithilfe von java.util.logging hinzufügen, die das Azure SDK für Java verwenden. Das java.util.logging-Framework ist Teil des JDK. 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 java.util.logging verwenden können.

Zum Aktivieren von java.util.logging müssen Sie zwei Schritte ausführen:

  1. Binden Sie den SLF4J-Adapter für java.util.logging als Abhängigkeit ein.
  2. Erstellen Sie im Projektverzeichnis /src/main/resources eine Datei namens logging.properties.

Weitere Informationen zum Konfigurieren der Protokollierung finden Sie unter Konfigurieren der Protokollierungsausgabe in der Oracle-Dokumentation.

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 1.7.30 durch die neueste veröffentlichte Versionsnummer, die auf der Seite SLF4J JDK14 Binding (SLF4J JDK14-Bindung) angezeigt wird.

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-jdk14</artifactId>
    <version>1.7.30</version> <!-- replace this version with the latest available version on Maven central -->
</dependency>

Hinzufügen von logging.properties zu Ihrem Projekt

Um die Verwendung java.util.loggingzu protokollieren, erstellen Sie eine Datei namens logging.properties unter dem Verzeichnis ./src/Standard/resources Ihres Projekts oder an einer anderen Stelle. Diese Datei enthält die Protokollierungskonfigurationen, mit denen die Protokollierungsanforderungen angepasst werden können. Geben Sie pfad zu der Datei an, indem Sie die java.util.logging.config.file Systemeigenschaft festlegen. Sie müssen diese Eigenschaft festlegen, bevor Sie die Loggerinstanz erstellen. Weitere Informationen finden Sie unter Java Logging: Configuration.

Konsolenprotokollierung

Sie können eine Konfiguration erstellen, um die Protokollierung wie im folgenden Beispiel gezeigt in der Konsole auszugeben. Dieses Beispiel ist so konfiguriert, dass alle Protokollierungsereignisse unabhängig von der Quelle protokolliert werden, bei denen es sich um die Ebene INFO oder höher handelt.

handlers = java.util.logging.ConsoleHandler
.level = INFO

java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=[%1$tF %1$tH:%1$tM:%1$tS.%1$tL] [%4$s] %3$s %5$s %n

Protokollieren in eine Datei

Das oben genannte Beispiel protokolliert in die Konsole, was normalerweise nicht der bevorzugte Ort für Protokolle ist. Verwenden Sie zum Konfigurieren der Protokollierung in eine Datei stattdessen die folgende Konfiguration:

handlers = java.util.logging.FileHandler
.level = INFO

java.util.logging.FileHandler.pattern = %h/myapplication.log
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level = INFO

Mit diesem Code wird eine Datei namens myapplication.log in Ihrem Basisverzeichnis (%h) erstellt. Diese Protokollierung unterstützt keine automatische Dateirotation nach einem bestimmten Zeitraum. Wenn Sie diese Funktionalität benötigen, müssen Sie einen Scheduler schreiben, um die Protokolldateirotation zu verwalten.

Nächste Schritte

In diesem Artikel wurde die Konfiguration von java.util.logging 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.

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