Mono TraceSource切换行为

时间:2014-03-23 12:17:22

标签: c# mono

我在Mono中使用TraceSources得到奇怪的结果:

using System;
using System.Diagnostics;

namespace test
{
    class MainClass
    {
        static void show(SourceLevels l)
        {
            TraceSource t = new TraceSource("test");
            t.Switch.Level = l;
            Console.WriteLine(t.Switch.Level);
            Console.WriteLine("Critical: " + t.Switch.ShouldTrace(TraceEventType.Critical));
            Console.WriteLine("Error: " + t.Switch.ShouldTrace(TraceEventType.Error));
            Console.WriteLine("Warning: " + t.Switch.ShouldTrace(TraceEventType.Warning));
            Console.WriteLine("Information: " + t.Switch.ShouldTrace(TraceEventType.Information));
            Console.WriteLine("Verbose: " + t.Switch.ShouldTrace(TraceEventType.Verbose));
        }

        public static void Main(string[] args)
        {
            show(SourceLevels.ActivityTracing);
            show(SourceLevels.All);
            show(SourceLevels.Critical);
            show(SourceLevels.Error);
            show(SourceLevels.Information);
            show(SourceLevels.Off);
            show(SourceLevels.Verbose);
        }
    }
}

结果如下:

ActivityTracing
Critical: False
Error: False
Warning: False
Information: False
Verbose: False
All
Critical: True
Error: True
Warning: True
Information: True
Verbose: True
Critical
Critical: True
Error: True
Warning: True
Information: True
Verbose: True
Error
Critical: True
Error: True
Warning: True
Information: True
Verbose: True
Information
Critical: True
Error: True
Warning: True
Information: True
Verbose: True
Off
Critical: False
Error: False
Warning: False
Information: False
Verbose: False
Verbose
Critical: True
Error: True
Warning: True
Information: True
Verbose: True

我希望看到一些差异。但它似乎全部或全部关闭。这是不是在Mono中实现的? 或者我在做一些愚蠢的事情?

0 个答案:

没有答案