将 Lambda 函数日志发送到 CloudWatch Logs
默认情况下,Lambda 会自动捕获所有函数调用的日志并将其发送到 CloudWatch Logs,前提是您的函数的执行角色具有必要的权限。默认情况下,这些日志存储在名为 /aws/lambda/<function-name>
的日志组中。为了增强调试能力,您可以在代码中插入自定义日志记录语句,Lambda 将这些语句与 CloudWatch Logs 无缝集成。如果需要,您可以将函数配置为使用 Lambda 控制台、AWS CLI 或 Lambda API 将日志发送到不同的组。请参阅配置 CloudWatch 日志组,了解更多信息。
您可以借助 Lambda 控制台、CloudWatch 控制台、AWS Command Line Interface (AWS CLI) 或 CloudWatch API 查看 Lambda 函数的日志。有关更多信息,请参阅查看 Lambda 函数的 CloudWatch 日志。
注意
函数调用后,日志可能需要 5 到 10 分钟才能显示。
所需的 IAM 权限
执行角色必须具备以下权限,才能将日志上传 CloudWatch Logs:
-
logs:CreateLogGroup
-
logs:CreateLogStream
-
logs:PutLogEvents
要了解更多信息,请参阅《Amazon CloudWatch User Guide》中的 Using identity-based policies (IAM policies) for CloudWatch Logs。
您可以使用 Lambda 提供的 AWSLambdaBasicExecutionRole
AWS 托管式策略添加这些 CloudWatch Logs 权限。要将此策略添加到您的角色,请运行以下命令:
aws iam attach-role-policy --role-name your-role
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
有关更多信息,请参阅 在执行角色中使用 AWS 托管策略。
定价
使用 Lambda 日志没有额外的费用;不过,会收取标准 CloudWatch Logs 费用。有关更多信息,请参阅 CloudWatch 定价