public static void Fail(string message, string detailMessage) { object listenersSyncRoot = TraceImpl.ListenersSyncRoot; lock (listenersSyncRoot) { foreach (object obj in TraceImpl.Listeners) { TraceListener traceListener = (TraceListener)obj; traceListener.Fail(message, detailMessage); } } }