Azure SDK for Java と Log4j を使用してログを記録する
この記事では、Azure SDK for Java を使用するアプリケーションに Log4j を使用してログ記録を追加する方法の概要について説明します。 「Azure SDK for Javaでのログ記録の構成」で説明されているように、すべての Azure クライアント ライブラリは、SLF4Jを介してログを記録するため、log4jなどのログ記録フレームワークを使用できます。
この記事では Log4J 2.x リリースを使用するためのガイダンスを提供しますが、Log4J 1.x は Azure SDK for Java でも同様にサポートされています。 log4j ログを有効にするには、次の 2 つの操作を行う必要があります。
- 依存関係として log4j ライブラリを含めます。
- 構成ファイル (log4j2.properties または log4j2.xml) を /src/main/resources プロジェクト ディレクトリの下に作成する。
log4j の構成に関連する詳細については、「Log4j 2へようこそ」を参照してください。
Maven 依存関係を追加する
Maven 依存関係を追加するには、プロジェクトの pom.xml ファイルに次の XML を含めます。 2.16.0
のバージョン番号を、Apache Log4j SLF4J バインド ページに表示されている最新のリリースバージョン番号に置き換えます。
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.16.0</version>
</dependency>
手記
CVE-2021-44228
Log4j の構成
Log4j を構成するには、外部プロパティ ファイルと外部 XML ファイルの 2 つの一般的な方法があります。 これらのアプローチの概要を次に示します。
プロパティ ファイルの使用
log4j2.properties という名前のフラット プロパティ ファイル、プロジェクトの /src/main/resources ディレクトリに配置できます。 このファイルの形式は次のとおりです。
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
XML ファイルの使用
log4j2.xml という名前の XML ファイルは、プロジェクトの /src/main/resources ディレクトリに配置できます。 このファイルの形式は次のとおりです。
<?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>
次の手順
この記事では、Log4j の構成と、Azure SDK for Java でログ記録に使用する方法について説明しました。 Azure SDK for Java はすべての SLF4J ログ 記録フレームワークで動作するため、詳細については、SLF4J ユーザー マニュアル を確認することを検討してください。 Log4j を使用する場合は、その Web サイトにも膨大な量の構成ガイダンスがあります。 詳細については、「Log4j 2 へようこそ」を参照してください。
ログ記録を習得したら、Azure が提供する統合を、