我正在使用Azure SDK 2.5在.NET中编写新的Cloud Service。 我知道诊断with the 2.5 SDK rekesae已经发生了一些重大变化。
我收到相互矛盾的信息是我是否仍然可以使用Azure诊断程序将Azure。*输出中的Trace。*输出捕获到WADLogsTable
?
我知道我可以使用ETW作为替代方案,但现在我正在要求它。
根据this文章,我仍然可以使用Trace来使用Azure诊断1.3捕获我的日志 - 据我所知,SDK 2.5附带了这些日志。
不幸的是我无法让它发挥作用。
我的worker角色的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>
在我的worker角色的代码中,我有跟踪代码,如下所示:
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)。
我正在使用:
有人能把我从痛苦中解救出来吗? 非常感谢
答案 0 :(得分:0)
我刚刚创建了一个生成跟踪日志的默认辅助角色,我注意到了公共配置中的一个区别
<?xml version="1.0" encoding="utf-8"?>
<PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
<WadCfg>
<DiagnosticMonitorConfiguration overallQuotaInMB="4096">
<WindowsEventLog scheduledTransferPeriod="PT1M">
<DataSource name="Application!*" />
</WindowsEventLog>
<Logs scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Information" />
</DiagnosticMonitorConfiguration>
</WadCfg>
<StorageAccount>mystorageAccount</StorageAccount>
</PublicConfig>