##// END OF EJS Templates
Added SharedLock to synchronization routines
Added SharedLock to synchronization routines

File last commit:

r109:1b7ebcc52e5a v2
r129:471f596b2603 v2
Show More
ConsoleTraceListener.cs
34 lines | 943 B | text/x-csharp | CSharpLexer
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Implab.Diagnostics {
public class ConsoleTraceListener: TextListenerBase {
static readonly object _consoleLock = new object();
public ConsoleTraceListener()
: base(true) {
}
public ConsoleTraceListener(bool global)
: base(global) {
}
protected override void WriteEntry(LogEventArgs args, EventText text, string channel) {
var msg = new StringBuilder();
for (int i = 0; i < text.indent; i++)
msg.Append(" ");
msg.AppendFormat("[{0}]:{1}: {2}", args.ThreadId, channel, text.content);
lock (_consoleLock) {
//Console.ForegroundColor = (ConsoleColor)(args.ThreadId % 15 + 1);
Console.WriteLine(msg);
}
}
}
}