教程 使用Amazon记录框架与 AWS Lambda 创建应用程序日志 - AWS Toolkit for Visual Studio
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

教程 使用Amazon记录框架与 AWS Lambda 创建应用程序日志

您可以使用 Amazon CloudWatch Logs 来监视、存储和访问应用程序的日志。要将数据记录到 CloudWatch Logs,您可以使用AWSSDK或安装 CloudWatch Logs 用于监控某些日志文件夹的代理。如今,我们使用更简单 CloudWatch Logs 通过集成的.NET应用程序 CloudWatch Logs 拥有多个流行的.NETLoggingFramework。

支持的.NET日志记录框架是 NlogLog4net以及新内置的 ASP.NET核心日志记录框架. 对于每个框架,您只需要添加适当的 NuGet 程序包,添加 CloudWatch Logs 作为输出源,然后像平常一样使用您的日志记录库。

例如 CloudWatch Logs 使用nlog的.NET应用程序添加 AWS.Logger.NLog Nuget包裹,然后将AWS目标添加到 NLog.config 文件。以下是 NLog.config 支持两者同时使用 CloudWatch Logs 控制台作为日志消息的输出。

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

执行这些步骤后,在您运行应用程序时,使用 NLog 写入的日志消息发送到 CloudWatch Logs. 然后,您可以从 CloudWatch Logs 控制台近乎实时地查看应用程序的日志消息。您还可以从 CloudWatch Logs 控制台基于应用程序的日志消息设置指标和警报。

这些日志记录插件都基于 适用于 .NET 的 AWS 开发工具包 而构建,并使用与开发工具包所用的同一行为来查找 AWS 凭证。日志记录插件使用的凭证必须具有以下权限才能访问 CloudWatch Logs.

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

AWS.NET日志记录插件是新开源项目 吉泰什. 所有插件都在这里,包括 样本说明 如何配置 CloudWatch Logs 对于每个支持的.NET日志记录框架。