

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

# 在 中使用 日誌 AWS SAM
<a name="serverless-sam-cli-logging"></a>

為了簡化故障診斷， AWS SAM CLI有一個名為 的命令`sam logs`。此命令可讓您從命令列擷取 Lambda 函數產生的日誌。

**注意**  
`sam logs` 命令適用於所有 AWS Lambda 函數，而不只是您部署使用的函數 AWS SAM。

## 依 CloudFormation 堆疊擷取日誌
<a name="serverless-logging-cfn"></a>

當您的函數是 CloudFormation 堆疊的一部分時，您可以使用函數的邏輯 ID 來擷取日誌：

```
sam logs -n HelloWorldFunction --stack-name mystack
```

## 依 Lambda 函數名稱擷取日誌
<a name="serverless-logging-function"></a>

或者，您可以使用函數的名稱來擷取日誌：

```
sam logs -n mystack-HelloWorldFunction-1FJ8PD
```

## 自訂日誌
<a name="serverless-logging-tail"></a>

新增 `--tail`選項以等待新的日誌，並在它們到達時看到它們。這在部署期間或當您疑難排解生產問題時很有用。

```
sam logs -n HelloWorldFunction --stack-name mystack --tail
```

## 檢視特定時間範圍的日誌
<a name="serverless-logging-time-range"></a>

您可以使用 `-s`和 `-e`選項來檢視特定時間範圍的日誌：

```
sam logs -n HelloWorldFunction --stack-name mystack -s '10min ago' -e '2min ago'
```

## 篩選日誌
<a name="serverless-logging-time-range"></a>

使用 `--filter`選項快速尋找符合日誌事件中詞彙、片語或值的日誌：

```
sam logs -n HelloWorldFunction --stack-name mystack --filter "error"
```

在輸出中， AWS SAM CLI會強調「錯誤」一詞的所有出現，讓您可以輕鬆地在日誌輸出中尋找篩選條件關鍵字。

## 反白顯示錯誤
<a name="serverless-logging-error-highlight"></a>

當您的 Lambda 函數當機或逾時時， AWS SAM CLI會以紅色反白顯示逾時訊息。這可協助您輕鬆尋找日誌輸出巨型串流內逾時的特定執行。

## JSON 美型列印
<a name="serverless-logging-error-highlight"></a>

如果您的日誌訊息列印 JSON 字串， AWS SAM CLI會自動列印 JSON，以協助您以視覺化方式剖析和了解 JSON。