在WindowsAzure上把TranceLog和EventLog输出到Storage的方法

 

在WindowsAzure上把TranceLog和EventLog输出到Storage的方法

 

1、修改web.config启用一个Diagnostic监听器

<configuration>
  <system.diagnostics>
    <trace>
      <listeners>
        <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
          name="AzureDiagnostics">
          <filter type="" />
        </add>
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>


 

2、在OnStart函数中启动该Diagnostic监听器

        public override bool OnStart()
        {
            DiagnosticMonitorConfiguration diagConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();

            //Trance log
            diagConfig.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
            diagConfig.Logs.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(1);

            //EventLog
            diagConfig.WindowsEventLog.DataSources.Add("System!*");
            diagConfig.WindowsEventLog.DataSources.Add("Application!*");
            diagConfig.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
            diagConfig.WindowsEventLog.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(1);

            //Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString是需要在.cscfg文件中配置的Storage连接字符串
            DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", diagConfig);

            return base.OnStart();
        }


 

3、在其他代码中输出TranceLog和EventLog。

//输出一条TranceLog到Storage中
Trace.WriteLine("WriteTaskList ...");


//输出两条EventLog到Storage中
EventLog eventApp2 = new EventLog("Application");
eventApp2.Source = "AzureTest App";
eventApp2.WriteEntry(count + " EventLog write(AzureTest App)");

EventLog eventSys2 = new EventLog("System");
eventSys2.Source = "AzureTest Sys";
eventSys2.WriteEntry(count + " EventLog write(AzureTest Sys)");


 

 参考文章: 云诊断:控制 Windows Azure 中的日志记录与跟踪

 

 

你可能感兴趣的:(windows,filter,application,System)