2012-06-08 48 views
1

我試圖將azure診斷數據存儲在存儲帳戶上。 我曾嘗試下面的代碼:即使使用默認應用程序,Azure Diagnositcs也不存儲數據

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的實時部署中工作正常。

回答

1

不知道什麼是錯誤的,作爲替代方案,您可以嘗試將Diagnostics.wadcfg用作代碼中的配置選項?

幾篇博客解釋如何使用它:

如何使用Diagnostics.wadcfg配置Windows Azure診斷收集:通過diagnostics.wadcfg配置文件http://www.davidaiken.com/2012/02/27/how-to-use-diagnostics-wadcfg-to-configure-windows-azure-diagnostics-collection/

配置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

值得一試,對不起,我無法提供更多幫助...

+0

不正是我一直在尋找,但它現在適用於事件日誌。 –

+0

很酷,我總是使用這種方法... – user728584

+0

是的,我認爲這是更好,更易於管理。 –

0

未創建WadLogTable,因爲我們的問題是您沒有使用SetCurrentConfiguration()和GetDefaultInitialConfiguration()來最終保存傳輸時間和日誌級別。您必須使用set下面這些API的:

GetDefaultInitialConfiguration() 
SetCurrentConfiguration() 

OR

GetCurrentConfiguration() 
SetCurrentConfiguration() 

更多信息:Azure diagnostics and WadLogsTable

相關問題