1

我正在尝试将天蓝色诊断数据存储在存储帐户上。我尝试了以下代码:

public override bool OnStart()
    {
        // For information on handling configuration changes
        // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
        // Get the default initial configuration for DiagnosticMonitor.
        DiagnosticMonitorConfiguration diagnosticConfiguration = DiagnosticMonitor.GetDefaultInitialConfiguration();

        // Filter the logs so that only error-level logs are transferred to persistent storage.
        diagnosticConfiguration.Logs.ScheduledTransferLogLevelFilter = LogLevel.Information;

        // Schedule a transfer period of 30 minutes.
        diagnosticConfiguration.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1.0);

        // Specify a buffer quota of 1GB.
        diagnosticConfiguration.Logs.BufferQuotaInMB = 900;

        // Start the DiagnosticMonitor using the diagnosticConfig and our connection string.
        DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", diagnosticConfiguration);

        Trace.TraceInformation("WebRole started");

        return base.OnStart();
    }

此代码与微软在 MSDN http://msdn.microsoft.com/en-us/library/windowsazure/microsoft.windowsazure.diagnostics.diagnosticmonitorconfiguration.logs上建议的相同

我试图注释掉 BufferQuotaInMB 没有运气。我已经在本地环境和实时部署中使用新创建的应用程序进行了尝试。事实证明,甚至没有创建 WADLogsTable。
我错过了什么?

注意:它在使用 windowsEventLogs 进行实时部署时工作正常。

4

2 回答 2

1

不确定出了什么问题,作为替代方案,您可以尝试在代码中使用 Diagnostics.wadcfg 作为配置选项?

很少有博客文章解释如何使用它:

如何使用 Diagnostics.wadcfg 配置 Windows Azure 诊断集合:http ://www.davidaiken.com/2012/02/27/how-to-use-diagnostics-wadcfg-to-configure-windows-azure-diagnostics-collection /

通过 diagnostics.wadcfg 配置文件配置 WAD:http: //blogs.msdn.com/b/davidhardin/archive/2011/03/29/configuring-wad-via-the-diagnostics-wadcfg-config-file.aspx

如何使用 Windows Azure 诊断配置文件:http: //msdn.microsoft.com/en-us/library/windowsazure/hh411551.aspx

值得一试,对不起,我无法提供更多帮助......

于 2012-06-08T09:40:50.263 回答
0

没有创建 WadLogTable 是因为我们的问题是您没有使用 SetCurrentConfiguration() 和 GetDefaultInitialConfiguration() 来最终节省传输时间和日志级别。您必须使用这些 API 的集合,如下所示:

GetDefaultInitialConfiguration() 
SetCurrentConfiguration() 

或者

GetCurrentConfiguration()
SetCurrentConfiguration()

更多信息:Azure 诊断和 WadLogsTable

于 2012-06-08T19:27:54.670 回答