.NET TraceSource无法在Windows Azure下运行

时间:2013-06-12 01:48:58

标签: c# .net azure tracing azure-diagnostics

我正在尝试向Azure模拟器( consoley )窗口显示一些TraceSource日志记录信息。

没有显示TraceSource行。只有股票Trace行和各种低级别的天蓝色消息。

这是我的回购步骤,包括代码段:

  1. 文件 - >新 - >云服务(SDK 2.0) - > (添加工人角色)。
  2. 将TraceSource添加到WorkerRole。
  3. 使用跟踪数据更新app.config。
  4. 播放/发布。
  5. 注意所有其他默认代码都在那里,例如.csfg表示要使用UseDevelopmentStorage=true

    工作者角色代码。

    这是我的TraceSource已编码添加的库存默认代码...

    using System.Diagnostics;
    using System.Net;
    using System.Threading;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
    namespace WorkerRole1
    {
        public class WorkerRole : RoleEntryPoint
        {
            private TraceSource _traceSource;
    
            public override void Run()
            {
                _traceSource.TraceEvent(TraceEventType.Verbose, 0,
                                        "********************** 111111111111111111111 ******************* ");
    
                // This is a sample worker implementation. Replace with your logic.
                Trace.TraceInformation("WorkerRole1 entry point called", "Information");
    
                while (true)
                {
                    _traceSource.TraceEvent(TraceEventType.Verbose, 0,
                                            "********************** 222222222222222222222 ******************* ");
                    Thread.Sleep(10000);
                    Trace.TraceInformation("Working", "Information");
                }
            }
    
            public override bool OnStart()
            {
                // Set the maximum number of concurrent connections 
                ServicePointManager.DefaultConnectionLimit = 12;
    
                // For information on handling configuration changes
                // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
    
    
                _traceSource = new TraceSource("Azure.WorkerRole", SourceLevels.All);
    
                return base.OnStart();
            }
        }
    }
    

    现在是app.config ...

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    
        <system.diagnostics>
    
            <sharedListeners>
                <add name="AzureListener"
                     type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
                    <filter type="" />
                </add>
            </sharedListeners>
    
            <sources>
                <source name="Azure.WorkerRole" switchValue="Verbose" >
                    <listeners>
                        <add name="AzureListener" />
                    </listeners>
                </source>
            </sources>
    
        </system.diagnostics>
    </configuration>
    

    就是这样!运行并看到traceSource内容未显示:( Trace.Information内容为..但我不想使用旧的Trace方法,因为建议使用取而代之的是使用TraceSource代替。

    示例输出。请注意,只添加了Trace行(以及低级天蓝色的东西)。

    enter image description here

0 个答案:

没有答案