本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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-namemyStack
使用-s (-開始時間) 和-e (-結束時間) 選項檢視特定時間範圍的記錄檔。
$
sam logs -n
HelloWorldFunction
--stack-namemyStack
-s'10min ago'
-e'2min ago'
您還可以添加選--tail
項以等待新日誌並在到達時查看它們。
$
sam logs -n
HelloWorldFunction
--stack-namemyStack
--tail
使用此選--filter
項可快速尋找符合日誌事件中字詞、片語或值的記錄檔。
$
sam logs -n
HelloWorldFunction
--stack-namemyStack
--filter"error"
檢視子堆疊中資源的記錄檔。
$
sam logs --stack-name
myStack
-nchildStack/HelloWorldFunction
應用程序中所有支持的資源的尾部日誌。
$
sam logs --stack-name
sam-app
--tail
擷取應用程式中特定 Lambda 函數和 API Gateway API 的記錄檔。
$
sam logs --stack-name
sam-app
--nameHelloWorldFunction
--nameHelloWorldRestApi
擷取應用程式中所有支援資源的記錄,以及從指定的記錄群組擷取記錄檔。
$
sam logs --cw-log-group
/aws/lambda/myfunction-123
--cw-log-group/aws/lambda/myfunction-456