示例#1
0
 /// <summary>
 /// Write the message to the current thread's log.
 /// </summary>
 /// <param name="e"></param>
 public void Write(Log.MessageType type, string message, string details = null)
 {
     lock (this)
     {
         if (type == Log.MessageType.EXIT)
         {
             if (exiting_thread != null)
             {
                 return;
             }
             exiting_thread = new Thread(() =>
             {
                 if (Exitig != null)
                 {
                     Exitig.Invoke(message);
                 }
                 write(type, message, details);
                 Environment.Exit(0);
             });
             exiting_thread.Start();
         }
         else
         {
             write(type, message, details);
         }
     }
 }
示例#2
0
 /// <summary>
 /// General writting log method.
 /// </summary>
 public void Write(Log.MessageType messageType, string message, string details = null)
 {
     lock (this)
     {
         write(messageType, message, details);
         if (messageType == Log.MessageType.EXIT)
         {
             if (exiting)
             {
                 return;
             }
             exiting = true;
             //if (exitingThread != null)
             //    return;
             //exitingThread = ThreadRoutines.Start(() =>
             //{
             try
             {
                 Exitig?.Invoke(message);
             }
             catch (Exception e)
             {
                 write(Log.MessageType.ERROR, GetExceptionMessage(e));
             }
             finally
             {
                 Environment.Exit(0);
             }
             //});
         }
     }
 }
示例#3
0
 /// <summary>
 /// Write the message to the current thread's log.
 /// </summary>
 /// <param name="e"></param>
 public void Write(Log.MessageType messageType, string message, string details = null)
 {
     lock (this)
     {
         if (messageType == Log.MessageType.EXIT)
         {
             if (exiting_thread != null)
             {
                 return;
             }
             write(messageType, message, details);
             exiting_thread = startThread(() =>
             {
                 try
                 {
                     if (Exitig != null)
                     {
                         Exitig.Invoke(message);
                     }
                 }
                 catch (Exception e)
                 {
                     string m;
                     string d;
                     GetExceptionMessage(e, out m, out d);
                     write(Log.MessageType.ERROR, m, d);
                 }
                 finally
                 {
                     Environment.Exit(0);
                 }
             });
         }
         else
         {
             write(messageType, message, details);
         }
     }
 }