

# 将 Lambda 函数日志发送到 CloudWatch Logs
<a name="monitoring-cloudwatchlogs"></a>

默认情况下，Lambda 会自动捕获所有函数调用的日志并将其发送到 CloudWatch Logs，前提是您的函数的执行角色具有必要的权限。默认情况下，这些日志存储在名为 /aws/lambda/*<function-name>* 的日志组中。为了增强调试能力，您可以在代码中插入自定义日志记录语句，Lambda 将这些语句与 CloudWatch Logs 无缝集成。如果需要，您可以将函数配置为使用 Lambda 控制台、Amazon CLI 或 Lambda API 将日志发送到不同的组。请参阅[配置 CloudWatch 日志组](monitoring-cloudwatchlogs-loggroups.md)，了解更多信息。

您可以借助 Lambda 控制台、CloudWatch 控制台、Amazon Command Line Interface (Amazon CLI) 或 CloudWatch API 查看 Lambda 函数的日志。有关更多信息，请参阅[查看 Lambda 函数的 CloudWatch 日志](monitoring-cloudwatchlogs-view.md)。

**注意**  
函数调用后，日志可能需要 5 到 10 分钟才能显示。

## 所需的 IAM 权限
<a name="monitoring-cloudwatchlogs-prereqs"></a>

[执行角色](lambda-intro-execution-role.md)必须具备以下权限，才能将日志上传 CloudWatch Logs：
+ `logs:CreateLogGroup`
+ `logs:CreateLogStream`
+ `logs:PutLogEvents`

要了解更多信息，请参阅《Amazon CloudWatch User Guide》中的 [Using identity-based policies (IAM policies) for CloudWatch Logs](https://docs.amazonaws.cn/AmazonCloudWatch/latest/logs/iam-identity-based-access-control-cwl.html)。**

您可以使用 Lambda 提供的 `AWSLambdaBasicExecutionRole` Amazon 托管式策略添加这些 CloudWatch Logs 权限。要将此策略添加到您的角色，请运行以下命令：

```
aws iam attach-role-policy --role-name your-role --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
```

有关更多信息，请参阅 [在执行角色中使用 Amazon 托管策略](permissions-managed-policies.md)。

## 定价
<a name="monitoring-cloudwatchlogs-pricing"></a>

使用 Lambda 日志没有额外的费用；不过，会收取标准 CloudWatch Logs 费用。有关更多信息，请参阅 [CloudWatch 定价](https://www.amazonaws.cn/cloudwatch/pricing/)。