Azure SDK,Trace.Information和WADLogsTable

Azure SDK,Trace.Information和WADLogsTable,azure,azure-sdk-.net,azure-diagnostics,Azure,Azure Sdk .net,Azure Diagnostics,我正在使用Azure SDK 2.5在.NET中编写一个新的云服务。 我知道诊断方面有一些重大的变化 我得到的冲突信息是我是否仍然可以使用Azure Diagnostics捕获跟踪。*输出到Azure表存储中的WADLogsTable 我知道我可以使用ETW作为替代方案,但这正是我现在的要求 根据这篇文章,我仍然可以使用跟踪来捕获Azure Diagnostics 1.3中的日志,据我所知,它是随SDK 2.5提供的 不幸的是,我不能让它工作 my worker角色的app.config如下所示

我正在使用Azure SDK 2.5在.NET中编写一个新的云服务。 我知道诊断方面有一些重大的变化

我得到的冲突信息是我是否仍然可以使用Azure Diagnostics捕获跟踪。*输出到Azure表存储中的
WADLogsTable

我知道我可以使用ETW作为替代方案,但这正是我现在的要求

根据这篇文章,我仍然可以使用跟踪来捕获Azure Diagnostics 1.3中的日志,据我所知,它是随SDK 2.5提供的

不幸的是,我不能让它工作

my worker角色的app.config如下所示:


在我的工作者角色的整个代码中,我有如下跟踪代码:

Trace.TraceInformation(“发生了什么事”);
我的public diagnostics.wadcfg文件如下所示:


mystorageAccount
我已使用此文件使用PowerShell命令配置诊断服务扩展:

设置AzureServiceDiagnosticsExtension
从未创建过WADLogsTable。 如果启用其他诊断服务,如性能计数器,则会创建并填充相关表(WADPerformanceCountersTable)

我正在使用:

  • Visual Studio 2012
  • .NET 4.5.1
  • Azure Powershell(来自Web平台安装程序的最新版本)
  • Azure SDK 2.5
有人能让我摆脱痛苦吗?
非常感谢

我刚刚创建了一个生成跟踪日志的默认工作者角色,我注意到公共配置中的一个差异

<?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>

mystorageAccount

您是如何部署的?在相同的设置(VS2012,Azure 2.5 SDK)中,我只看到使用VisualStudio“发布”向导创建WADLogsTable,该向导显然为您配置了诊断扩展。见:

诊断配置必须在部署后单独应用-因为Azure SDK 2.5版使用扩展模型,诊断扩展和配置不再是部署包的一部分,必须在部署后单独应用。当您使用发布向导部署应用程序时,Visual Studio将为您应用扩展和配置[…]

我无法让PowerShell cmdlet正常工作(老实说,我没有投入太多精力),但作为一种解决方法,当我使用VS“Publish”向导进行部署时,创建了WADLogsTable,并且我可以看到日志流动。当我通过Azure门户打包和上传时,这并没有发生


在可预见的未来可能是这样;在2.6 SDK中,情况似乎没有改变(尽管他们在2.5中修复了很多诊断问题):

您是否尝试过Trace.TraceError语句和scheduledTransferLogLevelFilter=“Error”的默认配置?我没有,但是,是什么让您认为这会改变任何事情呢?您是否在新的SDK版本中成功地使用了Trace.Trace*样式的日志记录?你能确认它会起作用吗?我想你可能失踪了你解决过这个问题吗?我遇到了类似的问题。我们使用PowerShell cmdlet从那里部署命令行。@user1454265如果我们想使用Azure管理门户而不是VS发布,我们该如何实现?