将EventLog条目保存到Windows Azure存储

时间:2011-06-17 17:19:52

标签: logging configuration azure event-log system.diagnostics

我有一个使用System.Diagnostics.Trace和System.Diagnostics.EventLog类的应用程序来生成应用程序的日志信息。

我知道可以配置Azure角色以自动将System.Diagnostics.Trace存储的信息保存到Azure存储中。

我想知道我是否可以通过System.Diagnostics.EventLog获取相同的行为(更改Azure角色中的某些配置并将EventLog数据存储到Azure存储中)。

此致

2 个答案:

答案 0 :(得分:1)

对于诊断跟踪,您需要:

  • 在web.config
  • 中使用诊断跟踪侦听器Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener
  • 确保您的Logs.ScheduledTransferPeriod已设置

对于事件日志跟踪,您需要配置诊断以跟踪应用程序事件日志:

config.WindowsEventLog.DataSources.Add(“Application!*”);
// can also add System if you want to: config.WindowsEventLog.DataSources.Add(“System!*”);
config.WindowsEventLog.ScheduledTransferPeriod = TimeSpan.FromMinutes(5);

有关完整说明,请参阅http://blog.bareweb.eu/2011/01/beginning-azure-diagnostics/

答案 1 :(得分:0)

实际上,没有任何内容会自动保存在存储中。信息缓冲到磁盘上的角色,然后(按需或按计划)传输到存储。所以,你绝对可以用EventLogs做同样的事情。您只需像平常一样使用它们,配置诊断程序以监控它们并偶尔转移到存储设备。使用Windows Azure MMC提供免费工具,轻松完成此任务。