我正在使用 Azure SDK 2.5 在 .NET 中编写新的云服务。
我知道诊断发生了一些重大变化使用 2.5 SDK rekesae https://msdn.microsoft.com/en-us/library/azure/dn873976.aspx.
我得到的冲突信息是我是否仍然可以使用 Azure 诊断来捕获 Trace.* 输出到WADLogsTable
在 Azure 表存储中?
我知道我可以使用 ETW 作为替代方案,但这就是我现在所要求的。
根据this http://azure.microsoft.com/en-in/documentation/articles/cloud-services-dotnet-diagnostics/#comparing我仍然可以使用 Trace 通过 Azure Diagnostics 1.3 捕获我的日志 - 据我所知,它已随 SDK 2.5 一起提供。
不幸的是我无法让它工作。
我的辅助角色的 app.config 如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<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>
</configuration>
在我的辅助角色的整个代码中,我的跟踪代码如下所示:
Trace.TraceInformation("Something happened");
我的公共 Diagnostics.wadcfg 文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
<WadCfg>
<DiagnosticMonitorConfiguration overallQuotaInMB="4096">
<Logs scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Information" />
</DiagnosticMonitorConfiguration>
</WadCfg>
<StorageAccount>mystorageAccount</StorageAccount>
</PublicConfig>
我已使用此文件通过 PowerShell 命令配置诊断服务扩展:
Set-AzureServiceDiagnosticsExtension
从未创建过 WADLogsTable。
如果我启用其他诊断服务(例如 Perf Counter),则会创建并填充相关表 (WADPerformanceCountersTable)。
我在用:
- 视觉工作室2012
- .NET 4.5.1
- Azure Powershell(来自 Web 平台安装程序的最新版本)
- Azure SDK 2.5
谁能帮我摆脱痛苦?
非常感谢