Exemple #1
0
 /// <summary>
 /// Causes the plugin to report its status or errors to all <see cref="ILogger"/>,
 /// after requesting permission from the <see cref="IPluginHost"/> hosting it. If
 /// no host is hosting the plugin the report is performed anyway.
 /// </summary>
 protected void Report()
 {
     try
     {
         if (host != null)
         {
             if (!host.PermitReport(this))
             {
                 return;
             }
         }
         lock (events.SyncRoot)
         {
             while (events.Count > 0)
             {
                 EventLoggerEntry entry = (EventLoggerEntry)events.Dequeue();
                 foreach (ILogger log in loggers)
                 {
                     log.LogEventEntry(entry);
                 }
             }
         }
     }
     catch
     {}
 }
Exemple #2
0
 /// <summary>
 /// Enqueues an <see cref="EventLoggerEntry"/> object in the <see cref="QueueEventLogger"/>.
 /// </summary>
 /// <param name="entry">The <see cref="EventLoggerEntry"/> to be logged.</param>
 public void Enqueue(EventLoggerEntry entry)
 {
     if (events.Count == maxSize)
     {
         events.Dequeue();
     }
     events.Enqueue(entry);
 }
Exemple #3
0
 /// <summary>
 /// Enqueues an <see cref="EventLoggerEntry"/> to the internal event queue.
 /// </summary>
 /// <param name="entry">The entry to enqueue.</param>
 protected void AddToReportQueue(EventLoggerEntry entry)
 {
     try
     {
         if (events != null)
         {
             lock (events.SyncRoot)
             {
                 events.Enqueue(entry);
             }
         }
     }
     catch
     {}
 }
Exemple #4
0
 /// <summary>
 /// Creates a log according to the type of the entry's event
 /// </summary>
 /// <param name="entry">The <see cref="EventLoggerEntry"/> to log.</param>
 public void LogEventEntry(EventLoggerEntry entry)
 {
     try
     {
         lock (events)
         {
             if (events.Count > maxSize)
             {
                 events.Dequeue();
             }
             events.Enqueue(entry);
             if (rememberLastEntry)
             {
                 lastMessage = entry.EventMessage;
             }
         }
     }
     catch
     {}
 }
Exemple #5
0
 /// <summary>
 /// Creates a system log entry according to the type of the entry's event
 /// </summary>
 /// <param name="entry">The <see cref="EventLoggerEntry"/> to log.</param>
 public void LogEventEntry(EventLoggerEntry entry)
 {
     try
     {
         //Assure thread safety
         mutex.WaitOne();
         //Assign the new value to the LastEntry property
         if (rememberLastEntry)
         {
             lastMessage = entry.EventMessage;
         }
         if (eventLog != null)
         {
             //Write an entry with this source
             if (entry.EventType == CWLoggerEntryType.Info)
             {
                 eventLog.WriteEntry(entry.EventDate.ToString("r") + " " + entry.EventMessage, EventLogEntryType.Information);
             }
             if (entry.EventType == CWLoggerEntryType.Warning)
             {
                 eventLog.WriteEntry(entry.EventDate.ToString("r") + " " + entry.EventMessage, EventLogEntryType.Warning);
             }
             if (entry.EventType == CWLoggerEntryType.Error)
             {
                 eventLog.WriteEntry(entry.EventDate.ToString("r") + " " + entry.EventMessage, EventLogEntryType.Error);
             }
         }
     }
     catch
     {
         //An exception might occur because either the EventLog is not
         //available (Win95/98/Me) or the Event Log Service is disabled
         //or stopped or the Application Event Log could be full. In this
         //case the application could append messages to a custom XML File.
     }
     finally
     {
         mutex.ReleaseMutex();
     }
 }
Exemple #6
0
 /// <summary>
 /// Creates a Log Entry in the log file according to the type of the entry's event.
 /// </summary>
 /// <param name="entry">The <see cref="EventLoggerEntry"/> to log.</param>
 public void LogEventEntry(EventLoggerEntry entry)
 {
     try
     {
         mutex.WaitOne();
         if (eventSourceName == String.Empty)
         {
             lastMessage = "[" + entry.EventDate.ToString(dateFormat) + "][" + entry.EventType.ToString().ToUpper() + "]   " + entry.EventMessage;
         }
         else
         {
             lastMessage = "[" + entry.EventDate.ToString(dateFormat) + "][" + entry.EventType.ToString().ToUpper() + "]   " + eventSourceName + ": " + entry.EventMessage;
         }
         stream.WriteLine(lastMessage);
         stream.Flush();
     }
     catch
     {}
     finally
     {
         mutex.ReleaseMutex();
     }
 }
Exemple #7
0
 /// <summary>
 /// Enqueues an <see cref="EventLoggerEntry"/> to the internal event queue.
 /// </summary>
 /// <param name="entry">The entry to enqueue.</param>
 protected void AddToReportQueue(EventLoggerEntry entry)
 {
     try
     {
         if(events!=null)
         {
             lock(events.SyncRoot)
             {
                 events.Enqueue(entry);
             }
         }
     }
     catch
     {}
 }
 /// <summary>
 /// Creates a Log Entry in the log according to the type of the entry's event.
 /// </summary>
 /// <param name="entry">The <see cref="EventLoggerEntry"/> to log.</param>
 public void LogEventEntry(EventLoggerEntry entry)
 {
     try
     {
         mutex.WaitOne();
         if(eventSourceName == String.Empty)
         {
             lastMessage = "[" + entry.EventDate.ToString() + "][" + entry.EventType.ToString().ToUpper() +"] " + entry.EventMessage;
         }
         else
         {
             lastMessage = "[" + entry.EventDate.ToString() + "][" + entry.EventType.ToString().ToUpper() +"] " + eventSourceName + ": " + entry.EventMessage;
         }
         if(this.InvokeRequired)
         {
             this.BeginInvoke(new LogDelegate(this.Log), new object[]{lastMessage, entry.EventType});
         }
         else
         {
             Log(lastMessage, entry.EventType);
         }
     }
     catch
     {}
     finally
     {
         mutex.ReleaseMutex();
     }
 }
Exemple #9
0
 /// <summary>
 /// Creates a system log entry according to the type of the entry's event
 /// </summary>
 /// <param name="entry">The <see cref="EventLoggerEntry"/> to log.</param>
 public void LogEventEntry(EventLoggerEntry entry)
 {
     try
     {
         //Assure thread safety
         mutex.WaitOne();
         //Assign the new value to the LastEntry property
         if(rememberLastEntry)
         {
             lastMessage=entry.EventMessage;
         }
         if(eventLog!=null)
         {
             //Write an entry with this source
             if(entry.EventType == CWLoggerEntryType.Info)
             {
                 eventLog.WriteEntry(entry.EventDate.ToString("r") + " " + entry.EventMessage,EventLogEntryType.Information);
             }
             if(entry.EventType == CWLoggerEntryType.Warning)
             {
                 eventLog.WriteEntry(entry.EventDate.ToString("r") + " " + entry.EventMessage,EventLogEntryType.Warning);
             }
             if(entry.EventType == CWLoggerEntryType.Error)
             {
                 eventLog.WriteEntry(entry.EventDate.ToString("r") + " " + entry.EventMessage,EventLogEntryType.Error);
             }
         }
     }
     catch
     {
         //An exception might occur because either the EventLog is not
         //available (Win95/98/Me) or the Event Log Service is disabled
         //or stopped or the Application Event Log could be full. In this
         //case the application could append messages to a custom XML File.
     }
     finally
     {
         mutex.ReleaseMutex();
     }
 }
Exemple #10
0
 /// <summary>
 /// Creates a log according to the type of the entry's event
 /// </summary>
 /// <param name="entry">The <see cref="EventLoggerEntry"/> to log.</param>
 public void LogEventEntry(EventLoggerEntry entry)
 {
     try
     {
         lock(events)
         {
             if(events.Count > maxSize)
             {
                 events.Dequeue();
             }
             events.Enqueue(entry);
             if(rememberLastEntry)
             {
                 lastMessage = entry.EventMessage;
             }
         }
     }
     catch
     {}
 }
Exemple #11
0
 /// <summary>
 /// Enqueues an <see cref="EventLoggerEntry"/> object in the <see cref="QueueEventLogger"/>.
 /// </summary>
 /// <param name="entry">The <see cref="EventLoggerEntry"/> to be logged.</param>
 public void Enqueue(EventLoggerEntry entry)
 {
     if(events.Count == maxSize)
     {
         events.Dequeue();
     }
     events.Enqueue(entry);
 }
Exemple #12
0
 /// <summary>
 /// Creates a Log Entry in the log file according to the type of the entry's event.
 /// </summary>
 /// <param name="entry">The <see cref="EventLoggerEntry"/> to log.</param>
 public void LogEventEntry(EventLoggerEntry entry)
 {
     try
     {
         mutex.WaitOne();
         if(eventSourceName==String.Empty)
         {
             lastMessage="[" + entry.EventDate.ToString(dateFormat) + "]["+ entry.EventType.ToString().ToUpper() +"]   " + entry.EventMessage;
         }
         else
         {
             lastMessage="[" + entry.EventDate.ToString(dateFormat) + "]["+ entry.EventType.ToString().ToUpper() +"]   " + eventSourceName + ": " + entry.EventMessage;
         }
         stream.WriteLine(lastMessage);
         stream.Flush();
     }
     catch
     {}
     finally
     {
         mutex.ReleaseMutex();
     }
 }