次の方法で共有


Azure SDK for Java と java.util.logging を使用してログを記録する

この記事では、Java.util.logging を使用して、Azure SDK for Java を使用するアプリケーションにログ記録を追加する方法の概要について説明します。 java.util.logging フレームワークは JDK の一部です。 Java用 Azure SDK でのログ記録の構成に関するページで説明したように、すべての Azure クライアント ライブラリは、SLF4Jを介してログを記録するため、java.util.loggingなどのログ記録フレームワークを使用できます。

java.util.logging を有効にするには、次の 2 つの操作を行う必要があります。

  1. 依存関係として java.util.logging 用の SLF4J アダプターを含めます。
  2. /src/main/resources プロジェクト ディレクトリの下に、logging.properties という名前のファイルを作成します。

ロガーの構成に関する詳細については、Oracle ドキュメントの「ログ出力 の構成」を参照してください。

Maven 依存関係を追加する

Maven 依存関係を追加するには、プロジェクトの pom.xml ファイルに次の XML を含めます。 1.7.30 のバージョン番号を、SLF4J JDK14 バインディング ページに表示されている最新のリリース バージョン番号に置き換えます。

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

プロジェクトに logging.properties を追加する

を使用してログを記録するには、プロジェクトの ./src/main/resources ディレクトリまたはその他の場所に logging.properties という名前のファイルを作成します。 このファイルには、ログ記録のニーズをカスタマイズするためのログ構成が含まれます。 java.util.logging.config.file システム プロパティを設定して、ファイルへのパスを指定します。 ロガー インスタンスを作成する前に、このプロパティを設定する必要があります。 詳細については、「Java ログ: 構成」を参照してください。

コンソールのログ記録

次の例に示すように、コンソールにログを記録する構成を作成できます。 この例は、INFO レベル以上のすべてのログ イベントがどこから来たかをログに記録するように構成されています。

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

ファイルにログを記録する

前の例ではコンソールにログが記録されますが、通常、ログを記録するのに適した場所ではありません。 代わりにファイルへのログ記録を構成するには、次の構成を使用します。

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

このコードでは、ホーム ディレクトリ (%h) に myapplication.log という名前のファイルが作成されます。 このロガーは、一定期間後の自動ファイル ローテーションをサポートしていません。 この機能が必要な場合は、ログ ファイルのローテーションを管理するためのスケジューラを記述する必要があります。

次の手順

この記事では、java.util.logging の構成と、Azure SDK for Java でログ記録に使用する方法について説明しました。 Azure SDK for Java はすべての SLF4J ログ 記録フレームワークで動作するため、詳細については、SLF4J ユーザー マニュアル を確認することを検討してください。

ログ記録を習得したら、Azure が提供する統合を、Spring や MicroProfileなどのフレームワークに検討することを検討してください。