sam logs - AWS Serverless Application Model

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

sam logs

本頁提供「 AWS Serverless Application Model 指令行介面」(AWS SAMCLI) sam logs 指令的參考資訊。

如需「」的簡介 AWS SAMCLI,請參閱什麼是 AWS SAMCLI?

sam logs命令獲取由您的 AWS Lambda 函數生成的日誌。

用量

$ sam logs <options>

選項

--config-env TEXT

指定組態檔案中要使用的預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊,請參閱 AWS SAMCLI配置文件

--config-file PATH

包含要使用的預設參數值的組態檔案的路徑和檔案名稱。默認值是項目目錄的根目錄中的「samconfig.toml」。如需關於組態檔案的詳細資訊,請參閱 AWS SAMCLI配置文件

--cw-log-group LIST

包含來自您指定之 CloudWatch 記錄檔記錄群組的記錄檔。如果您同時指定此選項name,則除了來自指定資源的記錄檔外,還會 AWS SAM 包含來自指定記錄群組的記錄。

--debug

開啟偵錯記錄以列印由產生的偵錯訊息, AWS SAMCLI並顯示時間戳記。

---end-time, e TEXT

截至目前為止擷取記錄檔。時間可以是相對值,例如「5 分鐘前」,「明天」或「2018-01-01 10:10」等格式化的時間戳。

--filter TEXT

可讓您指定運算式,以快速尋找符合記錄事件中字詞、片語或值的記錄。這可以是簡單的關鍵字 (例如「錯誤」),也可以是 Amazon CloudWatch Logs 支援的模式。如需語法的相關資訊,請參閱 Amazon CloudWatch 日誌文件

--help

顯示此訊息並結束。

--include-traces

在記錄輸出中包含 X-Ray 軌跡。

--name, -n TEXT

要擷取記錄檔的資源名稱。如果此資源是 AWS CloudFormation 堆棧的一部分,則可以是 AWS CloudFormation/AWS SAM 模板中函數資源的邏輯 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

指定記錄檔的輸出格式。若要列印格式化記錄檔,請指定text。若要將記錄檔列印為 JSON,請指定json

--profile TEXT

從您的認證檔案取得 AWS 認證的特定設定檔。

--region TEXT

要部署的 AWS 區域。例如 us-east-1。

--save-params

將您在命令列中提供的參數儲存到 AWS SAM 組態檔案中。

--stack-name TEXT

該資源所屬的 AWS CloudFormation 堆棧的名稱。

--start-time, -s TEXT

從這個時候開始擷取記錄檔。時間可以是相對值,例如「5 分鐘前」,「昨天」,或像「2018-01-01 10:10」這樣的格式化時間戳。它默認為「10 分鐘前」。

--tail, -t

尾隨日誌輸出。這會忽略結束時間引數,並在記錄檔可用時繼續擷取記錄。

範例

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

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

使用-s (-開始時間) 和-e (-結束時間) 選項檢視特定時間範圍的記錄檔。

$ 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