Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

ロギング - AWS SDK for Kotlin

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ロギング

は、SLF4J 互換ロガーをテレメトリプロバイダーLoggerProviderのデフォルトとして AWS SDK for Kotlin 設定します。抽象化レイヤーである SLF4J では、実行時に複数のログ記録システムのいずれかを使用できます。サポートされているログ記録システムには、Java ログ記録 APIsLog4j 2および Logback が含まれます。

警告

ワイヤログ記録はデバッグ目的にのみ使用することをお勧めします。(ワイヤログ記録については以下で説明します)。E メールアドレス、セキュリティトークン、API キー、パスワード、 AWS Secrets Manager シークレットなどの機密データをログに記録する可能性があるため、本番環境ではオフにします。HTTPS 呼び出しであっても、ワイヤログ記録は、暗号化なしでリクエストまたはレスポンス全体をログに記録します。

大規模なリクエスト (Amazon S3 へのファイルのアップロードなど) やレスポンスの場合、詳細なワイヤログ記録もアプリケーションのパフォーマンスに大きな影響を与える可能性があります。

SLF4J互換のログライブラリを使用できますが、この例では Log4j 2 を使用して JVM プログラムで SDK からのログ出力を有効にします。

Gradle の依存関係

X.Y.Z リンクに移動して、利用可能な最新バージョンを確認できます)。

implementation("org.apache.logging.log4j:log4j-slf4j2-impl:X.Y.Z")

Log4j 2 設定ファイル

resources ディレクトリlog4j2.xmlに という名前のファイルを作成します (例: <project-dir>/src/main/resources)。次の XML 設定を ファイルに追加します。

<Configuration status="ERROR"> <Appenders> <Console name="Out"> <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} %-5p %c:%L %X - %encode{%m}{CRLF}%n"/> </Console> </Appenders> <Loggers> <Root level="info"> <AppenderRef ref="Out"/> </Root> </Loggers> </Configuration>

この設定には、MDC (マッピングされた診断コンテキスト) ログ記録を有効にする pattern 属性の%X指定子が含まれます。

SDK は、オペレーションごとに次の MDC 要素を追加します。

RPC

呼び出した RPC の名前。例: S3.GetObject

sdkInvocationId

オペレーションのためにサービスクライアントによって割り当てられた一意の ID。ID は、1 回のオペレーションの呼び出しに関連するすべてのログイベントを関連付けます。

SLF4J互換のログライブラリを使用できますが、この例では Log4j 2 を使用して JVM プログラムで SDK からのログ出力を有効にします。

Gradle の依存関係

X.Y.Z リンクに移動して、利用可能な最新バージョンを確認できます)。

implementation("org.apache.logging.log4j:log4j-slf4j2-impl:X.Y.Z")

Log4j 2 設定ファイル

resources ディレクトリlog4j2.xmlに という名前のファイルを作成します (例: <project-dir>/src/main/resources)。次の XML 設定を ファイルに追加します。

<Configuration status="ERROR"> <Appenders> <Console name="Out"> <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} %-5p %c:%L %X - %encode{%m}{CRLF}%n"/> </Console> </Appenders> <Loggers> <Root level="info"> <AppenderRef ref="Out"/> </Root> </Loggers> </Configuration>

この設定には、MDC (マッピングされた診断コンテキスト) ログ記録を有効にする pattern 属性の%X指定子が含まれます。

SDK は、オペレーションごとに次の MDC 要素を追加します。

RPC

呼び出した RPC の名前。例: S3.GetObject

sdkInvocationId

オペレーションのためにサービスクライアントによって割り当てられた一意の ID。ID は、1 回のオペレーションの呼び出しに関連するすべてのログイベントを関連付けます。

ワイヤレベルメッセージのログモードを指定する

デフォルトでは、 AWS SDK for Kotlin はワイヤレベルのメッセージをログに記録しません。これは、API リクエストとレスポンスからの機密データが含まれている可能性があるためです。ただし、デバッグの目的でこのレベルの詳細が必要になる場合があります。

Kotlin SDK を使用すると、コードでログモードを設定するか、環境設定を使用して、次のデバッグメッセージングを有効にできます。

  • HTTP リクエスト

  • HTTP レスポンス

ログモードは、各ビットがフラグ (モード) で値が加算されるビットフィールドによってバックアップされます。1 つのリクエストモードと 1 つのレスポンスモードを組み合わせることができます。

コードでログモードを設定する

追加のログ記録をオプトインするには、サービスクライアントを構築するときに logModeプロパティを設定します。

次の例は、リクエスト (本文あり) とレスポンス (本文なし) のログ記録を有効にする方法を示しています。

import aws.smithy.kotlin.runtime.client.LogMode // ... val client = DynamoDbClient { // ... logMode = LogMode.LogRequestWithBody + LogMode.LogResponse }

サービスクライアントの構築中に設定されたログモード値は、環境から設定されたログモード値を上書きします。

環境からログモードを設定する

コードで明示的に設定されていないすべてのサービスクライアントに対してログモードをグローバルに設定するには、次のいずれかを使用します。

  • JVM システムプロパティ: sdk.logMode

  • 環境変数: SDK_LOG_MODE

以下の大文字と小文字を区別しない値を使用できます。

  • LogRequest

  • LogRequestWithBody

  • LogResponse

  • LogResponseWithBody

環境の設定を使用して結合ログモードを作成するには、値をパイプ (|) 記号で区切ります。

例えば、次の例では、前の例と同じログモードを設定します。

# Environment variable. export SDK_LOG_MODE=LogRequestWithBody|LogResponse
# JVM system property. java -Dsdk.logMode=LogRequestWithBody|LogResponse ...
注記

また、互換性のある SLF4J ロガーを設定し、ワイヤレベルのログ記録を有効にするには、ログ記録レベルを DEBUG に設定する必要があります。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.