本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 AWS SAM 中的日志
为了简化故障排除,AWS SAM CLI 有一个名为 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 SAM CLI 将为单词“error”的所有匹配项添加下划线,以便您可以在日志输出中轻松找到筛选关键字。
错误突出显示
当 Lambda 函数崩溃或超时时,AWS SAM CLI 会以红色突出显示超时消息。这会帮助您轻松找到某个日志输出大流内超时的特定执行。
JSON 整齐打印
如果您的日志消息打印 JSON 字符串,AWS SAM CLI 将自动整齐打印 JSON 以帮助您直观地解析和理解 JSON。