

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 教學課程：搭配 使用 Amazon Logging Framework AWS Lambda 來建立應用程式日誌
<a name="cw-log-frameworks"></a>

您可以使用 Amazon CloudWatch Logs 來監控、存放和存取應用程式的日誌。若要取得 CloudWatch Logs 的日誌資料，請使用 AWS SDK 或安裝 CloudWatch Logs 代理程式來監控特定日誌資料夾。CloudWatch Logs 與數個熱門的 .NET 記錄架構整合，可簡化工作流程。

若要開始使用 CloudWatch Logs 和 .NET 記錄架構，請將適當的 NuGet 套件和 CloudWatch Logs 輸出來源新增至您的應用程式，然後像平常一樣使用您的記錄程式庫。這可讓您的應用程式使用 .NET 架構記錄訊息，將訊息傳送到 CloudWatch Logs，並在 CloudWatch Logs 主控台中顯示應用程式的日誌訊息。您也可以根據應用程式的日誌訊息，從 CloudWatch Logs 主控台設定指標和警示。

支援的 .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 記錄架構**：若要檢視，請參閱 [nuget.org ASP.NET Core 記錄架構套件](https://www.nuget.org/packages/AWS.Logger.AspNetCore/)。

以下是 `NLog.config` 檔案的範例，可透過將 `AWS.Logger.NLog` NuGet 套件和 AWS 目標新增至 ，同時啟用 CloudWatch Logs 和 主控台做為日誌訊息的輸出`NLog.config`。

```
<?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>
```



記錄外掛程式全都建置在 之上， 適用於 .NET 的 AWS SDK 並在類似於 SDK 的程序中驗證您的 AWS 登入資料。下列範例詳細說明記錄外掛程式登入資料存取 CloudWatch Logs 所需的許可：

**注意**  
 AWS .NET 記錄外掛程式是開放原始碼專案。如需其他資訊、範例和指示，請參閱 [AWS 記錄 .NET GitHub ](https://github.com/aws/aws-logging-dotnet)儲存庫中的[範例](https://github.com/aws/aws-logging-dotnet/tree/master/samples)和[指示](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:*:*:*"
      ]
    }
  ]
}
```

------