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

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

处理日志

为了简化故障排除,Amazon SAMCLI有一个名为的命令sam logs。此命令允许您从命令行获取 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划线,因此您可以轻松地在日志输出中找到过滤器关键字。

突出显示错误

当您的 Lambda 函数崩溃或超时时,会以红色Amazon SAMCLI突出显示超时消息。这可以帮助您轻松地在庞大的日志输出流中找到超时的特定执行。

JSON 漂亮的

如果您的日志消息打印 JSON 字符串,则Amazon SAMCLI会自动漂亮地打印 JSON,以帮助您直观地解析和理解 JSON。