##// END OF EJS Templates
Added Skip method to JSON parser to skip contents of the current node
Added Skip method to JSON parser to skip contents of the current node

File last commit:

r48:d9d794b61bb9 interactive logger
r62:62b440d46313 default
Show More
TextFileListener.cs
47 lines | 1.4 KiB | text/x-csharp | CSharpLexer
cin
improved tracing...
r40 using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace Implab.Diagnostics {
public class TextFileListener: TextListenerBase {
readonly TextWriter m_textWriter;
cin
Interactive tracing...
r48 public TextFileListener(string fileName, bool global)
: base(global) {
cin
improved tracing...
r40 m_textWriter = File.CreateText(fileName);
m_textWriter.WriteLine("LOG {0}", DateTime.Now);
Register(this);
}
cin
Interactive tracing...
r48 protected override void WriteEntry(TraceContext context, EventText text, string channel) {
cin
improved tracing...
r40 var msg = new StringBuilder();
for (int i = 0; i < text.indent; i++)
msg.Append(" ");
cin
Interactive tracing...
r48 msg.AppendFormat("[{0}]:{1}: {2}", context.ThreadId, channel, text.content);
cin
improved tracing...
r40
lock (m_textWriter) {
if (!IsDisposed) {
cin
refactoring, interactive tarce log almost complete
r47 // тут гарантировано еще не освобожден m_textWriter
cin
improved tracing...
r40 m_textWriter.WriteLine(msg.ToString());
m_textWriter.Flush();
}
}
}
protected override void Dispose(bool disposing) {
base.Dispose(disposing);
if (disposing) {
cin
refactoring, interactive tarce log almost complete
r47 // IsDisposed = true
cin
improved tracing...
r40 lock (m_textWriter) {
Safe.Dispose(m_textWriter);
}
}
}
}
}