using System.Diagnostics; namespace MediaBrowser.ServerApplication.Logging { /// /// Class WindowTraceListener /// public class WindowTraceListener : DefaultTraceListener { /// /// The _window /// private readonly LogWindow _window; /// /// Initializes a new instance of the class. /// /// The window. public WindowTraceListener(LogWindow window) { _window = window; _window.Show(); Name = "MBLogWindow"; } /// /// Writes the value of the object's method to the listener you create when you implement the class. /// /// An whose fully qualified class name you want to write. public override void Write(object o) { var str = o as string; if (str != null) Write(str); else base.Write(o); } /// /// Writes the output to the OutputDebugString function and to the method. /// /// The message to write to OutputDebugString and . /// /// /// /// public override void Write(string message) { _window.LogMessage(message); } /// /// Writes the output to the OutputDebugString function and to the method, followed by a carriage return and line feed (\r\n). /// /// The message to write to OutputDebugString and . /// /// /// /// public override void WriteLine(string message) { Write(message+"\n"); } /// /// Releases the unmanaged resources used by the and optionally releases the managed resources. /// /// true to release both managed and unmanaged resources; false to release only unmanaged resources. protected override void Dispose(bool disposing) { if (_window != null) _window.ShutDown(); base.Dispose(disposing); } } }