本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
sam logs
此页面提供了 Amazon Serverless Application Model 命令行界面(Amazon SAM CLI) sam logs
命令的参考信息。
有关 Amazon SAM CLI 的简介,请参阅什么是 Amazon SAMCLI?
sam logs
命令会获取 Amazon Lambda 函数生成的日志。
使用量
$
sam logs
<options>
Options
--config-env
TEXT
-
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息,请参阅 Amazon SAM CLI 配置文件。
--config-file
PATH
-
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中,默认值为“samconfig.toml”。有关配置文件的详细信息,请参阅 Amazon SAM CLI 配置文件。
--cw-log-group
LIST
-
包括来自您指定的 CloudWatch Logs 日志组的日志。如果同时指定此选项和
name
,则除了来自指定资源的日志外,Amazon SAM 还包括来自指定日志组的日志。 --debug
-
启用调试日志记录,以打印 Amazon SAM CLI 生成的调试消息并显示时间戳。
---end-time, e
TEXT
-
获取到目前为止的日志。时间可以是相对值,例如“5 分钟前”、“明天”,也可以是格式化的时间戳,例如 “2018-01-01 10:10:10”。
--filter
TEXT
-
允许您指定表达式以在日志事件中快速查找匹配字词、短语或值的日志。这可以是一个简单的关键词(例如,“错误”),也可以是 Amazon CloudWatch Logs 支持的模式。有关语法,请参阅 Amazon CloudWatch Logs 文档。
--help
-
显示此消息并退出。
--include-traces
-
在日志输出中包含 X-Ray 跟踪。
--name, -n
TEXT
-
要获取日志的资源名称。如果此资源是 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
-
--output
TEXT
-
指定日志的输出格式。要打印格式化的日志,请指定
text
。要以 JSON 格式打印日志,请指定json
。 --profile
TEXT
-
凭证文件中用于获取 Amazon 凭证的特定配置文件。
--region
TEXT
-
要部署到的 Amazon Region。例如,us-east-1。
--save-params
-
将您在命令行中提供的参数保存到 Amazon SAM 配置文件中。
--stack-name
TEXT
-
资源所属 Amazon CloudFormation 堆栈的名称。
--start-time, -s
TEXT
-
从此时开始获取日志。时间可以是相对值,例如“5 分钟前”、“昨天”,也可以是格式化的时间戳,例如 “2018-01-01 10:10:10”。默认为“10 分钟前”。
--tail, -t
-
输出日志尾部内容。这会忽略结束时间参数,并在日志可用时持续获取。
示例
当您的函数是 Amazon CloudFormation 堆栈的一部分时,您可以在指定堆栈名称时使用该函数的逻辑 ID 来获取日志。
$
sam logs -n
HelloWorldFunction
--stack-namemyStack
使用 -s (--start-time) 和 -e (--end-time) 选项查看特定时间范围的日志。
$
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