Azure Diagnostics 1.3-如何在不支持System.Diagnostics.Trace的情况下进行日志



根据Microsoft Azure诊断第4部分:自定义日志记录组件和Azure诊断1.3更改:

Azure Diagnostics 1.3不支持System.Diagnostics.Trace日志。相反,您将使用EventSource。System.Diagnostics.Trace日志记录语句仍可在模拟环境中用于将跟踪/调试语句写入Azure计算模拟器控制台。

我一直在搜索如何在Azure中以简单的方式使用System.Diagnostics ETW(Windows事件跟踪)框架的示例,就像使用log4Net等日志框架一样。有没有一种简单的方法可以将ETW封装到log4Net中的日志附加程序中,以便在Azure解决方案中编写以下语句。

Log.Info("My info logging statement.")

这应该不难,但我找不到任何像这样的简单样本。

声明WAD 1.3不支持Trace语句的文章已经过时,不再正确。当WAD的新版本推出时,它最初不包括对System.Diagnostics.Trace的支持,但这一问题已经得到解决,应该可以正常工作。需要记住的关键是,您需要将Microsoft.WindowsAzure.Diagnostics.DiagnosticsMonitorTraceListener的2.5版本注册为跟踪侦听器。最简单的方法是将以下内容放入web.config(对于IIS代码)或app.config(对于Worker Roles或WaIISHost.exe中的代码):

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


如果你想使用ETW跟踪,你可以在http://azure.microsoft.com/en-us/documentation/articles/cloud-services-dotnet-diagnostics/.

最新更新