Asp.net mvc 4 如何使用Enterprise Library 6将异常、事件记录到Azure表存储

Asp.net mvc 4 如何使用Enterprise Library 6将异常、事件记录到Azure表存储,asp.net-mvc-4,azure,exception-handling,enterprise-library,azure-table-storage,Asp.net Mvc 4,Azure,Exception Handling,Enterprise Library,Azure Table Storage,我正在使用WindowsAzure项目开发企业库6。基于快速启动应用程序,我们可以将消息、事件记录到Xml文件或sql server。下面的代码在示例应用程序中执行此操作 this.fileListener = FlatFileLog.CreateListener("aExpense.DataAccess.log", formatter: new XmlEventTextFormatter(EventTextFormatting.Indented), isAsync: t

我正在使用WindowsAzure项目开发企业库6。基于快速启动应用程序,我们可以将消息、事件记录到Xml文件或sql server。下面的代码在示例应用程序中执行此操作

            this.fileListener = FlatFileLog.CreateListener("aExpense.DataAccess.log", formatter: new XmlEventTextFormatter(EventTextFormatting.Indented), isAsync: true);
            fileListener.EnableEvents(AExpenseEvents.Log, EventLevel.LogAlways, AExpenseEvents.Keywords.DataAccess);

            //Log to Rolling file informational UI events only
            this.rollingfileListener = RollingFlatFileLog.CreateListener("aExpense.UserInterface.log", rollSizeKB: 10, timestampPattern: "yyyy", rollFileExistsBehavior: RollFileExistsBehavior.Increment, rollInterval: RollInterval.Day, formatter: new JsonEventTextFormatter(EventTextFormatting.Indented), isAsync: true);
            rollingfileListener.EnableEvents(AExpenseEvents.Log, EventLevel.Informational, AExpenseEvents.Keywords.UserInterface);                

            // Log all events to DB 
            this.dbListener = SqlDatabaseLog.CreateListener("aExpense", WebConfigurationManager.ConnectionStrings["Tracing"].ConnectionString, bufferingInterval: TimeSpan.FromSeconds(3), bufferingCount:10);
            dbListener.EnableEvents(AExpenseEvents.Log, EventLevel.LogAlways, Keywords.All); 

但我需要将所有这些事件和异常记录到Azure表存储中。Enterprise Library 6是否可以支持?如何做?

根据代码示例,您似乎正在使用语义日志块。有一个 它将记录到表存储中

this.azuretableListener = WindowsAzureTableLog.CreateListener(
    RoleEnvironment.CurrentRoleInstance.Id, 
    RoleEnvironment.GetConfigurationSettingValue("ConnectionString"));

azuretableListener.EnableEvents(AExpenseEvents.Log, EventLevel.LogAlways, Keywords.All);

默认表名为“SLABLogsTable”,但您可以指定另一个名称。

非常感谢您,它确实很有价值。