

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

# 教程：使用 Amazon 日志框架和 AWS Lambda 创建应用程序日志
<a name="cw-log-frameworks"></a>

您可以使用 Amazon CloudWatch Logs 来监控、存储和访问应用程序的日志。要将日志数据导入 CloudWatch 日志，请使用 S AWS DK 或安装 Log CloudWatch s 代理来监控某些日志文件夹。 CloudWatch 日志与几个流行的.NET 日志框架集成，从而简化了工作流程。

要开始使用 CloudWatch 日志和.NET 日志框架，请将相应的 NuGet 包和 CloudWatch 日志输出源添加到您的应用程序中，然后像往常一样使用您的日志库。这使您的应用程序能够使用.NET 框架记录消息，将其发送到 Lo CloudWatch gs，在日志控制台中显示应用程序的 CloudWatch 日志消息。您还可以根据应用程序的日志消息，在 CloudWatch 日志控制台中设置指标和警报。

受支持的 .NET 日志记录框架包括：
+ **NLog**: 要查看，请参阅 [nuget.org 软件包。 NLog ](https://www.nuget.org/packages/AWS.Logger.NLog)
+ **Log4net**：若要查看，请访问 [nuget.org Log4net 包](https://www.nuget.org/packages/AWS.Logger.NLog)。
+ **ASP.NET Core logging Framework**：若要查看，请访问 [nuget.org ASP.NET Core 日志记录框架包](https://www.nuget.org/packages/AWS.Logger.AspNetCore/)。

以下是一个文件示例，该`NLog.config`文件通过将`AWS.Logger.NLog` NuGet 软件包和 AWS 目标添加到中来启用日志和控制台作为日志消息的输出`NLog.config`。 CloudWatch 

```
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      throwExceptions="true">
  <targets>
    <target name="aws" type="AWSTarget" logGroup="NLog.ConfigExample" region="us-east-1"/>
    <target name="logfile" xsi:type="Console" layout="${callsite} ${message}" />
  </targets>
  <rules>
    <logger name="*" minlevel="Info" writeTo="logfile,aws" />
  </rules>
</nlog>
```



日志插件都建立在之上，通过类似于 SDK 的流程对您的 AWS 凭据进行身份验证。 适用于 .NET 的 AWS SDK 以下示例详细说明了日志插件凭据访问 CloudWatch 日志所需的权限：

**注意**  
. AWS NET 日志插件是一个开源项目。有关更多信息、示例和说明，请参阅 Lo [AWS gging .NET GitHub 存储库中的[示例](https://github.com/aws/aws-logging-dotnet/tree/master/samples)](https://github.com/aws/aws-logging-dotnet)和[说明](https://github.com/aws/aws-logging-dotnet/blob/master/README.md)主题。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogGroups"
      ],
      "Resource": [
        "arn:aws:logs:*:*:*"
      ]
    }
  ]
}
```

------