##// END OF EJS Templates
initial work on interactive logger
initial work on interactive logger

File last commit:

r43:7c2369f580b8 default
r45:d10034588e38 interactive logger
Show More
ConsoleTraceListener.cs
24 lines | 755 B | text/x-csharp | CSharpLexer
/ Implab / Diagnostics / ConsoleTraceListener.cs
cin
improved log concept
r36 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Implab.Diagnostics {
cin
improved tracing...
r40 public class ConsoleTraceListener: TextListenerBase {
cin
improved log concept
r36
static readonly object _consoleLock = new object();
cin
improved tracing...
r40 protected override void WriteEntry(TraceContext context, EventText text) {
var msg = new StringBuilder();
cin
improved log concept
r36
cin
improved tracing...
r40 for (int i = 0; i < text.indent; i++)
cin
improved log concept
r36 msg.Append(" ");
cin
improved tracing...
r40 msg.AppendFormat("[{0}]: {1}", context.ThreadId, text.content);
cin
improved log concept
r36
lock (_consoleLock) {
Console.ForegroundColor = (ConsoleColor)(context.ThreadId % 15 + 1);
Console.WriteLine(msg.ToString());
}
}
}
}