

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

# 日誌
<a name="configure-logging"></a>

 適用於 Go 的 AWS SDK 有可用的記錄設施，可讓您的應用程式啟用偵錯資訊，以偵錯和診斷請求問題或失敗。[Logger](https://pkg.go.dev/github.com/aws/smithy-go/logging#Logger) 界面和 [ClientLogMode](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#ClientLogMode) 是您可以用來決定用戶端應如何記錄和記錄內容的主要元件。

## Logger
<a name="logger"></a>

 使用 [LoadDefaultConfig](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/config#LoadDefaultConfig) 建構 [Config](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#Config) 時，預設`Logger`會設定為將日誌訊息傳送至程序的標準錯誤 (stderr)。滿足 [Logger](https://pkg.go.dev/github.com/aws/smithy-go/logging#Logger) 界面的自訂記錄器，可以透過使用 [config.WithLogger](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/config#WithLogger) `LoadDefaultConfig`包裝來做為 的引數傳遞至 。

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

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

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

### 內容感知記錄器
<a name="context-aware-loggers"></a>

 Logger 實作可能會實作選用的 [ContextLogger](https://pkg.go.dev/github.com/aws/smithy-go/logging#ContextLogger) 介面。實作此界面的記錄器會使用目前內容叫用其`WithContext`方法。這可讓您的記錄實作傳回新的 `Logger`，根據內容中存在的值來寫入額外的記錄中繼資料。

## ClientLogMode
<a name="clientlogmode"></a>

 根據預設，服務用戶端不會產生日誌訊息。若要設定用戶端傳送日誌訊息以進行偵錯，請在 上使用 [ClientLogMode](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#ClientLogMode) 成員`Config`。 `ClientLogMode` 可設定為啟用偵錯訊息：
+  Signature 第 4 版 (SigV4) 簽署 
+  請求重試 
+  HTTP 請求 
+  HTTP 回應 

 例如，若要啟用 HTTP 請求和重試的記錄：

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

 請參閱 [ClientLogMode](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#ClientLogMode)，了解可用的不同用戶端日誌模式。