[Mono-dev] Bug in TraceSource
John Lenz
jlenz2 at math.uiuc.edu
Fri Jan 7 16:57:07 EST 2011
Consider the following test program:
using System;
using System.Diagnostics;
public class Foo
{
public static void Main()
{
var t = new TraceSource("Test", SourceLevels.All);
Console.WriteLine(t.Switch.Level.ToString());
}
}
If you run this using Microsoft.NET, it prints "All".
If you run it with mono-2.8.1, mono prints "Off".
I believe the following patch fixes the problem, but I do not know if
this is the correct fix.
diff -r b99a9b69c1b6 mcs/class/System/System.Diagnostics/TraceSource.cs
--- a/mcs/class/System/System.Diagnostics/TraceSource.cs Wed Jan 05 13:34:32 2011 -0500
+++ b/mcs/class/System/System.Diagnostics/TraceSource.cs Fri Jan 07 15:54:48 2011 -0600
@@ -54,11 +54,11 @@
Hashtable sources = DiagnosticsConfiguration.Settings ["sources"] as Hashtable;
TraceSourceInfo info = sources != null ? sources [name] as TraceSourceInfo : null;
source_switch = new SourceSwitch (name);
+ source_switch.Level = sourceLevels
if (info == null)
listeners = new TraceListenerCollection ();
else {
- source_switch.Level = info.Levels;
listeners = info.Listeners;
}
}
More information about the Mono-devel-list
mailing list