日誌 - 適用於 Go 的 AWS SDK v2

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

日誌

適用於 Go 的 AWS SDK 有可用的記錄設施,可讓您的應用程式啟用偵錯資訊,以偵錯和診斷請求問題或失敗。Logger 界面和 ClientLogMode 是您可以用來決定用戶端應如何記錄和記錄內容的主要元件。

Logger

使用 LoadDefaultConfig 建構 Config 時,預設Logger會設定為將日誌訊息傳送至程序的標準錯誤 (stderr)。滿足 Logger 界面的自訂記錄器,可以透過使用 config.WithLogger LoadDefaultConfig包裝來做為 的引數傳遞至 。

例如,若要將用戶端設定為使用我們的 applicationLogger

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

現在,使用 建構的 設定的用戶端aws.Config會將日誌訊息傳送至 applicationLogger

內容感知記錄器

Logger 實作可能會實作選用的 ContextLogger 介面。實作此界面的記錄器會使用目前內容叫用其WithContext方法。這可讓您的記錄實作傳回新的 Logger,根據內容中存在的值來寫入額外的記錄中繼資料。

ClientLogMode

根據預設,服務用戶端不會產生日誌訊息。若要設定用戶端傳送日誌訊息以進行偵錯,請在 上使用 ClientLogMode 成員ConfigClientLogMode 可設定為啟用偵錯訊息:

  • Signature 第 4 版 (SigV4) 簽署

  • 請求重試

  • HTTP 請求

  • HTTP 回應

例如,若要啟用 HTTP 請求和重試的記錄:

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

請參閱 ClientLogMode,了解可用的不同用戶端日誌模式。