本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
sam logs
本页提供 Amazon Serverless Application Model 命令行界面的参考信息 (Amazon SAM CLI) sam logs 命令。
有关简介 Amazon SAM CLI,请参阅 那是什么 Amazon SAMCLI?
该sam logs命令会获取您的 Amazon Lambda 函数生成的日志。
使用量
$sam logs<options>
选项
--config-envTEXT-
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息,请参阅 Amazon SAM CLI 配置文件。
--config-filePATH-
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中,默认值为“samconfig.toml”。有关配置文件的详细信息,请参阅 Amazon SAM CLI 配置文件。
--cw-log-groupLIST-
包括您指定的 CloudWatch 日志日志组中的日志。如果同时指定此选项
name,则除了来自指定资源的日志外,还 Amazon SAM 包括来自指定日志组的日志。 --debug-
开启调试日志记录以打印生成的调试消息 Amazon SAM CLI 并显示时间戳。
---end-time, eTEXT-
获取到目前为止的日志。时间可以是相对值,例如“5 分钟前”、“明天”,也可以是格式化的时间戳,例如 “2018-01-01 10:10:10”。
--filterTEXT-
允许您指定表达式以在日志事件中快速查找匹配字词、短语或值的日志。这可以是一个简单的关键词(例如,“错误”),也可以是 Amazon Logs 支持的 CloudWatch 模式。有关语法,请参阅 Amazon CloudWatch 日志文档。
--help-
显示此消息并退出。
--include-traces-
在日志输出中包含 X-Ray 跟踪。
--name, -nTEXT-
要获取日志的资源名称。如果此资源是 Amazon CloudFormation 堆栈的一部分,则可以是 Amazon CloudFormation/Amazon SAM 模板中函数资源的逻辑 ID。再次重复该参数可以提供多个名称。如果资源位于嵌套堆栈中,则可以在名称前面加上嵌套堆栈名称以从该资源提取日志 (NestedStackLogicalId/ResourceLogicalId)。如果未给出资源名称,则将扫描给定的堆栈,并提取所有支持的资源的日志信息。如果您未指定此选项,则会 Amazon 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
-
--outputTEXT-
指定日志的输出格式。要打印格式化的日志,请指定
text。要以 JSON 格式打印日志,请指定json。 --profileTEXT-
您的凭证文件中用于获取 Amazon 凭证的特定个人资料。
--regionTEXT-
要部署到的 Amazon 区域。例如,us-east-1。
--save-params-
将您在命令行中提供的参数保存到 Amazon SAM 配置文件中。
--stack-nameTEXT-
资源所 Amazon CloudFormation 属堆栈的名称。
--start-time, -sTEXT-
从此时开始获取日志。时间可以是相对值,例如“5 分钟前”、“昨天”,也可以是格式化的时间戳,例如 “2018-01-01 10:10:10”。默认为“10 分钟前”。
--tail, -t-
输出日志尾部内容。这会忽略结束时间参数,并在日志可用时持续获取。
示例
当您的函数是 Amazon CloudFormation 堆栈的一部分时,您可以在指定堆栈名称时使用该函数的逻辑 ID 来获取日志。
$sam logs -nHelloWorldFunction--stack-namemyStack
使用 -s (--start-time) 和 -e (--end-time) 选项查看特定时间范围的日志。
$sam logs -nHelloWorldFunction--stack-namemyStack-s'10min ago'-e'2min ago'
您还可以添加 --tail 选项以等待新日志并在它们到达时查看。
$sam logs -nHelloWorldFunction--stack-namemyStack--tail
使用 --filter 选项在日志事件中快速查找匹配字词、短语或值的日志:
$sam logs -nHelloWorldFunction--stack-namemyStack--filter"error"
查看子堆栈中资源的日志。
$sam logs --stack-namemyStack-nchildStack/HelloWorldFunction
输出应用程序中所有受支持资源的日志尾部内容。
$sam logs --stack-namesam-app--tail
在应用程序中获取特定 Lambda 函数和 API Gateway API 的日志。
$sam logs --stack-namesam-app--nameHelloWorldFunction--nameHelloWorldRestApi
获取应用程序中所有受支持资源的日志,此外还从指定的日志组中获取日志。
$sam logs --cw-log-group/aws/lambda/myfunction-123--cw-log-group/aws/lambda/myfunction-456