ロギング - AWS SDK for Go v2

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

ロギング

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

ロガー

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

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

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

これで、構築された を使用して設定されたクライアントaws.Configは、 にログメッセージを送信しますapplicationLogger

コンテキスト対応ロガー

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

ClientLogMode

デフォルトでは、サービスクライアントはログメッセージを生成しません。デバッグ目的でログメッセージを送信するようにクライアントを設定するには、 で ClientLogMode メンバーを使用しますConfigClientLogModeは、デバッグメッセージングを有効にするように設定できます。

  • 署名バージョン 4 (SigV4) の署名

  • 再試行のリクエスト

  • HTTP リクエスト

  • HTTP レスポンス

例えば、HTTP リクエストと再試行のログ記録を有効にするには:

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

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