2012-05-08 145 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'。 –