private static void ExitOrUnloadEventHandler(object sender, EventArgs e)
 {
     lock (syncObject)
     {
         if (MessageTraceSource != null)
         {
             MessageTraceSource.Close();
             messageTraceSource = null;
         }
     }
 }
 private static void LogInternal(MessageLoggingSource source, object data)
 {
     if ((source & MessageLoggingSource.Malformed) != MessageLoggingSource.None)
     {
         if (!TD.MessageLogWarning(data.ToString()) && TD.MessageLogEventSizeExceededIsEnabled())
         {
             TD.MessageLogEventSizeExceeded();
         }
     }
     else if (!TD.MessageLogInfo(data.ToString()) && TD.MessageLogEventSizeExceededIsEnabled())
     {
         TD.MessageLogEventSizeExceeded();
     }
     if (MessageTraceSource != null)
     {
         MessageTraceSource.TraceData(TraceEventType.Information, 0, data);
     }
     IncrementLoggedMessagesCount(data);
 }