1

我想在Windows Azure诊断中使用跟踪侦听器来记录某些消息。我能够看到诊断程序在永久存储上创建的blob,但我无法看到跟踪侦听器的输出。Windows Azure:无法在诊断日志中看到跟踪侦听器的输出

这是我在辅助角色OnStart方法尝试:

  var config = DiagnosticMonitor.GetDefaultInitialConfiguration(); 
      config.Logs.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(1.0); 
      DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config); 
      System.Diagnostics.Trace.Listeners.Add(new Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener()); 
      System.Diagnostics.Trace.AutoFlush = true; 
      System.Diagnostics.Trace.Write("some logging"); 
+0

几天前我回答了一个类似的问题:http://stackoverflow.com/questions/15672003/how-to-log-messages-to-the-windows-azure-storage/15673515#15673515。 HTH。 –

回答

0

它看起来像你缺少你的日志缓冲区。如果没有缓冲区可供读取,则不会传输任何内容。尝试添加类似:

config.OverallQuotaInMB = 4096; 
config.Logs.BufferQuotaInMB = 512; 

你的角色的诊断BLOB(中发现的WAD控制容器)的含量应该是这个样子

<?xml version="1.0"?> 
<ConfigRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <DataSources> 
     <OverallQuotaInMB>4096</OverallQuotaInMB> 
     <Logs> 
      <BufferQuotaInMB>512</BufferQuotaInMB> 
      <ScheduledTransferPeriodInMinutes>1</ScheduledTransferPeriodInMinutes> 
      <ScheduledTransferLogLevelFilter>Information</ScheduledTransferLogLevelFilter> 
     </Logs> 
     ....