

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

# sam logs
<a name="sam-cli-command-reference-sam-logs"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam logs`命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam logs` 命令會擷取 AWS Lambda 函數產生的日誌。

## Usage
<a name="sam-cli-command-reference-sam-logs-usage"></a>

```
$ sam logs <options>
```

## 選項
<a name="sam-cli-command-reference-sam-logs-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-logs-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-logs-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。預設值為專案目錄根目錄中的 "samconfig.toml"。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--cw-log-group LIST`  <a name="sam-cli-command-reference-sam-logs-options-cw-log-group"></a>
包含您指定之 CloudWatch Logs 日誌群組的日誌。如果您指定此選項與 ，除了來自具名資源的日誌之外`name`， 還 AWS SAM 包含來自指定日誌群組的日誌。

`--debug`  <a name="sam-cli-command-reference-sam-logs-options-debug"></a>
開啟偵錯記錄以列印 AWS SAM CLI產生的偵錯訊息，並顯示時間戳記。

`---end-time, e TEXT`  <a name="sam-cli-command-reference-sam-logs-options-end-time"></a>
擷取截至目前為止的日誌。時間可以是「5 分鐘前」、「明天」等相對值，或「2018-01-01 10：10：10」等格式化時間戳記。

`--filter TEXT`  <a name="sam-cli-command-reference-sam-logs-options-filter"></a>
可讓您指定表達式，以快速尋找符合日誌事件中詞彙、片語或值的日誌。這可以是簡單的關鍵字 （例如「錯誤」) 或 Amazon CloudWatch Logs 支援的模式。如需語法，請參閱 [Amazon CloudWatch Logs 文件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html)。

`--help`  <a name="sam-cli-command-reference-sam-logs-options-help"></a>
顯示此訊息並結束。

`--include-traces`  <a name="sam-cli-command-reference-sam-logs-options-include-traces"></a>
在日誌輸出中包含 X-Ray 追蹤。

`--name, -n TEXT`  <a name="sam-cli-command-reference-sam-logs-options-name"></a>
要擷取日誌的資源名稱。如果此資源是 CloudFormation 堆疊的一部分，這可以是 CloudFormation/AWS SAM template 中函數資源的邏輯 ID。您可以再次重複 參數來提供多個名稱。如果資源位於巢狀堆疊中，則可以在巢狀堆疊名稱前面加上名稱，以從該資源提取日誌 (NestedStackLogicalId/ResourceLogicalId)。如果未提供資源名稱，則會掃描指定的堆疊，並提取所有支援資源的日誌資訊。如果您未指定此選項， 會為您指定的堆疊中的所有資源 AWS SAM 擷取日誌。支援下列資源類型：  
+ `AWS::Serverless::Function`
+ `AWS::Lambda::Function`
+ `AWS::Serverless::Api`
+ `AWS::ApiGateway::RestApi`
+ `AWS::Serverless::HttpApi`
+ `AWS::ApiGatewayV2::Api`
+ `AWS::Serverless::StateMachine`
+ `AWS::StepFunctions::StateMachine`

`--output TEXT`  <a name="sam-cli-command-reference-sam-logs-options-output"></a>
指定日誌的輸出格式。若要列印格式化日誌，請指定 `text`。若要將日誌列印為 JSON，請指定 `json`。

`--profile TEXT`  <a name="sam-cli-command-reference-sam-logs-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="sam-cli-command-reference-sam-logs-options-region"></a>
 AWS 要部署的區域。例如 us-east-1。

`--save-params`  <a name="sam-cli-command-reference-sam-logs-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-logs-options-stack-name"></a>
資源所屬的 CloudFormation 堆疊名稱。

`--start-time, -s TEXT`  <a name="sam-cli-command-reference-sam-logs-options-start-time"></a>
擷取此時開始的日誌。時間可以是「5 分鐘前」、「昨天」等相對值，或是「2018-01-01 10：10：10」等格式化時間戳記。預設為 '10 分鐘前'。

` --tail, -t`  <a name="sam-cli-command-reference-sam-logs-options-tail"></a>
尾隨日誌輸出。這會忽略結束時間引數，並在日誌可用時繼續擷取日誌。

## 範例
<a name="sam-cli-command-reference-sam-logs-examples"></a>

當您的函數是 CloudFormation 堆疊的一部分時，您可以在指定堆疊名稱時使用函數的邏輯 ID 來擷取日誌。

```
$ sam logs -n HelloWorldFunction --stack-name myStack
```

使用 -s (--start-time) 和 -e (--end-time) 選項檢視特定時間範圍的日誌。

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

您也可以新增 `--tail`選項來等待新的日誌，並在它們送達時看到它們。

```
$ sam logs -n HelloWorldFunction --stack-name myStack --tail
```

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

```
$ sam logs -n HelloWorldFunction --stack-name myStack --filter "error"
```

檢視子堆疊中資源的日誌。

```
$ sam logs --stack-name myStack -n childStack/HelloWorldFunction
```

您應用程式中所有支援資源的自訂日誌。

```
$ sam logs --stack-name sam-app --tail
```

擷取應用程式中特定 Lambda 函數和 API Gateway API 的日誌。

```
$ sam logs --stack-name sam-app --name HelloWorldFunction --name HelloWorldRestApi
```

擷取應用程式中所有支援資源的日誌，以及從指定的日誌群組另外擷取。

```
$ sam logs --cw-log-group /aws/lambda/myfunction-123 --cw-log-group /aws/lambda/myfunction-456
```