使用日誌 AWS SAM - AWS Serverless Application Model

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

使用日誌 AWS SAM

為了簡化疑難排解, AWS SAMCLI有一個名為sam logs. 此命令可讓您從命令列擷取 Lambda 函數產生的記錄。

注意

sam logs命令適用於所有 AWS Lambda 功能,而不僅僅是您使用部署的功能 AWS SAM。

通 AWS CloudFormation 過堆棧獲取日誌

當您的函數是 AWS CloudFormation 堆棧的一部分時,您可以使用函數的邏輯 ID 來獲取日誌:

sam logs -n HelloWorldFunction --stack-name mystack

通過 Lambda 函數名稱獲取日誌

或者,您可以使用函數的名稱獲取日誌:

sam logs -n mystack-HelloWorldFunction-1FJ8PD

拖尾日誌

添加選--tail項以等待新日誌並在到達時查看它們。這在部署期間或疑難排解生產問題時很有幫助。

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

檢視特定時間範圍的記錄

您可以使用-s-e選項來檢視特定時間範圍的記錄檔:

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

過濾記錄檔

使用此選--filter項可快速尋找符合日誌事件中字詞、片語或值的記錄檔:

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

在輸出中, AWS SAMCLI強調所有出現的單詞「error」,以便您可以輕鬆地在日誌輸出中找到 filter 關鍵字。

亮顯錯誤

當 Lambda 函數當機或逾時時,會以紅色 AWS SAMCLI反白顯示逾時訊息。這有助於您輕鬆找到在巨大的日誌輸出流中超時的特定執行。

JSON漂亮的印刷

如果您的日誌消息打印JSON字符串,則 AWS SAMCLI會自動打印出JSON來幫助您直觀地解析和理解JSON.