ログ記録 - AWS SDK for Go v2

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

ログ記録

AWS SDK for Go には、リクエストの問題や失敗をデバッグ・診断するために、アプリケーションでデバッグ情報を有効にできるログ記録機能があります。Logger インターフェイスと ClientLogMode は、クライアントがログに記録する方法と内容を決定するための主要な構成要素です。

ロガー

LoadDefaultConfig を使用して Config を作成すると、デフォルトで Logger はログメッセージを標準エラー出力 (stderr) に送信するように設定されます。Logger インターフェイスを実装するカスタムロガーは、config.WithLogger でラップして LoadDefaultConfig に引数として渡すことができます。

例えば、クライアントが applicationLogger を使用するように設定するには、次のようにします。

cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithLogger(applicationLogger))

このように作成された aws.Config を使用するクライアントは、applicationLogger にログメッセージを送信します。

コンテキスト対応ロガー

ロガーの実装では、オプションの ContextLogger インターフェイスを実装できます。このインターフェイスを実装したロガーは、現在のコンテキストで WithContext メソッドを呼び出します。これにより、ログ記録の実装で、コンテキスト内の値に基づいて追加のログメタデータを書き込める新しい Logger を返すことができます。

ClientLogMode

デフォルトでは、サービスクライアントはログメッセージを出力しません。クライアントがデバッグ目的でログメッセージを出力するように設定するには、ConfigClientLogMode メンバーを使用します。ClientLogMode を設定することにより、デバッグ目的で次のログ記録を有効にできます。

  • Signature Version 4 (SigV4) 署名処理

  • リクエストの再試行

  • HTTP リクエスト

  • HTTP レスポンス

例えば、HTTP リクエストおよび再試行処理のログ記録を有効にするには、次のようにします。

cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithClientLogMode(aws.LogRetries | aws.LogRequest))

使用可能なさまざまなクライアントログモードについては、「ClientLogMode」を参照してください。