1

我想在 Windows azure 诊断程序中使用跟踪侦听器记录一些消息。我能够看到诊断在我的永久存储上创建的 blob,但我看不到跟踪侦听器的输出。

这是我在工作者角色 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");
4

2 回答 2

0

看起来您的日志中缺少缓冲区。如果没有可读取的缓冲区,则没有可传输的内容。尝试添加类似:

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

您角色的诊断 blob(在 wad-control-container 中找到)内容应类似于

<?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>
        ....
于 2013-04-03T11:43:51.980 回答
0

我写了一篇博客文章,专门用于在 Workerroles 中启用跟踪。你在这里找到它:http: //blog.amtopm.be/2014/07/20/azure-diagnostics-how-to-troubleshoot-your-code/

如果您还有问题,请告诉我。

于 2014-07-25T05:25:48.613 回答