2012-05-08 182 views
7

我無法瞭解如何查看天青診斷日誌。我寫的代碼如下。如何查看天青診斷日誌

DiagnosticMonitorConfiguration config = iagnosticMonitor.GetDefaultInitialConfiguration(); 
System.Diagnostics.Trace.Listeners.Add(new Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener()); 
config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Information; 
config.WindowsEventLog.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(1.0); 
DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config); 

然後我在代碼中加了Trace.WriteLine("some message");。現在我在哪裏可以找到這些消息。我檢查了Visual Studio服務器資源管理器,在那裏添加了我的存儲帳戶引用。 wad-control-container只有配置文件。

+3

我發現這個鏈接非常有幫助:http://msdn.microsoft.com/en-us/magazine/f f714589.aspx – pritaeas

回答

9

你可能想看看Michael S. Collier的這篇博客文章。在你的雲項目的設置可能會導致日誌在其他地方,最終比你指望他們:

http://michaelcollier.wordpress.com/2012/04/02/where-is-my-windows-azure-diagnostics-data/

更新:

請注意,你必須照顧每一個小細節讓每件事都能發揮作用。

你在寫什麼Trace.WriteLine("some message");?它在你的WebRole.cs中嗎?如果是這樣的話,您需要爲WebRole.cs配置跟蹤偵聽器(這在其他進程中運行,與實際的Web應用程序不同)。

下面是一個例子,你如何設置跟蹤偵聽器在WebRole.cs類:

System.Diagnostics.Trace.Listeners.Add(new Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener()); 
System.Diagnostics.Trace.AutoFlush = true; 

設置,完成後,您可以使用Trace.WriteLine

+0

我檢查了設置。一切都是正確的。根據我上面發佈的代碼,我可以在哪裏找到跟蹤消息?它在「WADLogsTable」中嗎?我在一些博客中讀到它。 –

+0

是的,請參閱我更新的答案以獲取更多信息。 –

+0

我在worker角色中寫了'Trace.WriteLine(「some message」);''。我在我的項目中只有工人角色。我也加了Trace Listerner。我觀察到的另一件事是,我發現一些表格文件(.tsf文件)是在''C:\ Users \ Administrator \ AppData \ Local \ dftmp \ s0 \ deployment(350)\ res \ de deployment(350) 。TCPServerTester.TCPServerRole.0 \ directory \ DiagnosticStore \ Monitor \ T ables「'目錄。但是在存儲中沒有'WADLogsTable'。 –