public static void AddTraceListener(TraceListener listener) { Debug.Listeners.Add(listener); AppDomain.CurrentDomain.ProcessExit += delegate (object sender, EventArgs ee) { Debug.Flush(); Trace.Flush(); Debug.Listeners.Remove(listener); Trace.Listeners.Remove(listener); listener.Close(); }; }