将 Lambda 函数日志发送到 CloudWatch Logs - AWS Lambda

将 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 定价