public static void Fail(string message, string detailMessage)
{
if (UseGlobalLock)
{
lock (critSec)
{
foreach (TraceListener listener in Listeners)
{
listener.Fail(message, detailMessage);
if (AutoFlush) listener.Flush();
}
}
}
else
{
foreach (TraceListener listener in Listeners)
{
if (!listener.IsThreadSafe)
{
lock (listener)
{
listener.Fail(message, detailMessage);
if (AutoFlush) listener.Flush();
}
}
else
{
listener.Fail(message, detailMessage);
if (AutoFlush) listener.Flush();
}
}
}
}