public static void WriteLine(object value, string category)
{
if (UseGlobalLock)
{
lock (critSec)
{
foreach (TraceListener listener in Listeners)
{
listener.WriteLine(value, category);
if (AutoFlush) listener.Flush();
}
}
}
else
{
foreach (TraceListener listener in Listeners)
{
if (!listener.IsThreadSafe)
{
lock (listener)
{
listener.WriteLine(value, category);
if (AutoFlush) listener.Flush();
}
}
else
{
listener.WriteLine(value, category);
if (AutoFlush) listener.Flush();
}
}
}
}