使用日志 - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用日志

为了简化故障排除,Amazon SAMCLI 有一个名为sam log。此命令让您可以获取从命令行中由 Lambda 函数生成的日志。

注意

这些区域有:sam logs命令适用于所有Amazon Lambda函数,而不仅仅是您使用Amazon SAM。

获取日志方式Amazon CloudFormation堆栈

当你的函数是Amazon 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"

在输出中,Amazon SAMCLI 为单词 “error” 的所有匹配项添加下划线,以便您可以在日志输出中轻松找到筛选关键字。

加亮区时出错

当你的 Lambda 函数崩溃或超时时,Amazon SAMCLI 以红色突出显示超时消息。这有助于您轻松找到某个日志输出大流内超时的特定执行。

JSON 整齐打印

如果日志消息打印 JSON 字符串,Amazon SAMCLI 将自动整齐打印 JSON 以帮助您直观地解析和理解 JSON。