public List <WindowsLog> GetWindowsLogs()
        {
            List <WindowsLog> windowsLogs = new List <WindowsLog>();

            try
            {
                var logs = EventLog.GetEventLogs();

                foreach (var log in logs)
                {
                    WindowsLog windowsLog = new WindowsLog();
                    windowsLog.Entries          = this.MapSystemEventLogEntries(log.Entries);
                    windowsLog.LogName          = log.Log;
                    windowsLog.LogDisplayName   = log.LogDisplayName;
                    windowsLog.MaximumKilobytes = new UnitLongValue()
                    {
                        Unit = Unit.KB, Value = log.MaximumKilobytes
                    };
                    windowsLog.MinimumRetentionDays = new UnitIntValue()
                    {
                        Unit = Unit.Days, Value = log.MinimumRetentionDays
                    };
                    windowsLogs.Add(windowsLog);
                }
            }
            catch (Exception ex)
            {
                this.Logger.LogError(ex.Message, ex);
            }

            return(windowsLogs);
        }
示例#2
0
 public void DeleteEventSource(string eventSourceName)
 {
     try
     {
         if (WindowsLog.SourceExists(eventSourceName))
         {
             WindowsLog.DeleteEventSource(eventSourceName);
             if (WindowsLog.SourceExists(eventSourceName) == false)
             {
                 _msg.Length = 0;
                 _msg.Append("Event Source ");
                 _msg.Append(eventSourceName);
                 _msg.Append(" delete succeeded.");
                 WriteMessageToLog(_msg.ToString());
             }
             else
             {
                 _msg.Length = 0;
                 _msg.Append("Event Source ");
                 _msg.Append(eventSourceName);
                 _msg.Append(" delete failed.");
                 WriteMessageToLog(_msg.ToString());
             }
         }
         else
         {
             _msg.Length = 0;
             _msg.Append("Event Source ");
             _msg.Append(eventSourceName);
             _msg.Append(" not found. No delete needed.");
             WriteMessageToLog(_msg.ToString());
         }
     }
     catch (System.Exception ex)
     {
         _msg.Length = 0;
         _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex));
         _msg.Append(Environment.NewLine);
         _msg.Append("Caller must have elevated security permissions (e.g. use Run As Administrator) to create and delete event sources and event logs.");
         WriteMessageToLog(_msg.ToString());
         AppMessages.DisplayErrorMessage(_msg.ToString(), true);
     }
     finally
     {
         ;
     }
 }
示例#3
0
        public void OutputMessagesToWindowsApplicationEventLog(string eventSourceName,
                                                               int numInformationMessagesToWrite,
                                                               int numWarningMessagesToWrite,
                                                               int numErrorMessagesToWrite)
        {
            WindowsLog eventLog = null;


            try
            {
                if (WindowsLog.SourceExists(eventSourceName) == false)
                {
                    WindowsLog.CreateEventSource(eventSourceName);
                    if (WindowsLog.SourceExists(eventSourceName))
                    {
                        _msg.Length = 0;
                        _msg.Append("Event Source ");
                        _msg.Append(eventSourceName);
                        _msg.Append(" create succeeded.");
                        WriteMessageToLog(_msg.ToString());
                    }
                    else
                    {
                        _msg.Length = 0;
                        _msg.Append("Event Source ");
                        _msg.Append(eventSourceName);
                        _msg.Append(" create failed.");
                        WriteMessageToLog(_msg.ToString());
                    }
                }
                else
                {
                    _msg.Length = 0;
                    _msg.Append("Event Source ");
                    _msg.Append(eventSourceName);
                    _msg.Append(" exists.");
                    WriteMessageToLog(_msg.ToString());
                }

                eventLog = new WindowsLog(WindowsLog.EventLogName.Application, ".", eventSourceName);

                for (int i = 1; i <= numInformationMessagesToWrite; i++)
                {
                    _msg.Length = 0;
                    _msg.Append("Message ");
                    _msg.Append(i.ToString());
                    _msg.Append(" from test program.");
                    eventLog.WriteEntry(_msg.ToString(), WindowsLog.WindowsEventLogEntryType.Information);
                }

                for (int i = 1; i <= numWarningMessagesToWrite; i++)
                {
                    _msg.Length = 0;
                    _msg.Append("Warning message ");
                    _msg.Append(i.ToString());
                    _msg.Append(" from test program.");
                    eventLog.WriteEntry(_msg.ToString(), WindowsLog.WindowsEventLogEntryType.Warning);
                }

                for (int i = 1; i <= numErrorMessagesToWrite; i++)
                {
                    _msg.Length = 0;
                    _msg.Append("Error message ");
                    _msg.Append(i.ToString());
                    _msg.Append(" from test program.");
                    eventLog.WriteEntry(_msg.ToString(), WindowsLog.WindowsEventLogEntryType.Error);
                }

                _msg.Length = 0;
                _msg.Append("Number of event log messages written = ");
                _msg.Append((numInformationMessagesToWrite + numWarningMessagesToWrite + numErrorMessagesToWrite).ToString("#,##0"));
                WriteMessageToLog(_msg.ToString());
            }
            catch (System.Exception ex)
            {
                _msg.Length = 0;
                _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex));
                _msg.Append(Environment.NewLine);
                _msg.Append("Caller must have elevated security permissions (e.g. use Run As Administrator) to create and delete event sources and event logs.");
                WriteMessageToLog(_msg.ToString());
                AppMessages.DisplayErrorMessage(_msg.ToString(), true);
            }
            finally
            {
                ;
            }
        }