Exemplo n.º 1
0
 private void EditEventLogEntry_Load(object sender, EventArgs e)
 {
     pictureBoxSecWarning.Visible = !Security.IsInAdminMode();
     lblSecWarning.Visible        = !Security.IsInAdminMode();
     if (SelectedEventLogEntry == null)
     {
         SelectedEventLogEntry          = new EventLogCollectorEntry();
         SelectedEventLogEntry.Computer = System.Net.Dns.GetHostName();
     }
 }
Exemplo n.º 2
0
        public override void OKClicked()
        {
            if (CheckOKEnabled())
            {
                if (SelectedConfig == null)
                {
                    SelectedConfig = new EventLogCollectorConfig();
                }
                EventLogCollectorConfig currentConfig = (EventLogCollectorConfig)SelectedConfig;
                currentConfig.Entries.Clear();

                foreach (ListViewItem lvi in lvwEntries.Items)
                {
                    EventLogCollectorEntry eventLogEntry = (EventLogCollectorEntry)lvi.Tag;
                    currentConfig.Entries.Add(eventLogEntry);
                }
                DialogResult = System.Windows.Forms.DialogResult.OK;
                Close();
            }
        }
Exemplo n.º 3
0
        public void FromXml(string configurationString)
        {
            XmlDocument config = new XmlDocument();

            config.LoadXml(configurationString);
            XmlElement root = config.DocumentElement;

            Entries.Clear();
            foreach (XmlElement logNode in root.SelectNodes("eventlogs/log"))
            {
                EventLogCollectorEntry eventLogEntry = new EventLogCollectorEntry();
                eventLogEntry.Computer           = logNode.ReadXmlElementAttr("computer", "");
                eventLogEntry.EventLog           = logNode.ReadXmlElementAttr("eventLog", "");
                eventLogEntry.TypeInfo           = bool.Parse(logNode.ReadXmlElementAttr("typeInfo", "False"));
                eventLogEntry.TypeWarn           = bool.Parse(logNode.ReadXmlElementAttr("typeWarn", "True"));
                eventLogEntry.TypeErr            = bool.Parse(logNode.ReadXmlElementAttr("typeErr", "True"));
                eventLogEntry.ContainsText       = bool.Parse(logNode.ReadXmlElementAttr("containsText", "False"));
                eventLogEntry.UseRegEx           = logNode.ReadXmlElementAttr("useRegEx", false);
                eventLogEntry.TextFilter         = logNode.ReadXmlElementAttr("textFilter", "");
                eventLogEntry.WithInLastXEntries = int.Parse(logNode.ReadXmlElementAttr("withInLastXEntries", "100"));
                eventLogEntry.WithInLastXMinutes = int.Parse(logNode.ReadXmlElementAttr("withInLastXMinutes", "60"));
                eventLogEntry.WarningValue       = int.Parse(logNode.ReadXmlElementAttr("warningValue", "1"));
                eventLogEntry.ErrorValue         = int.Parse(logNode.ReadXmlElementAttr("errorValue", "10"));
                eventLogEntry.PrimaryUIValue     = logNode.ReadXmlElementAttr("primaryUIValue", false);
                eventLogEntry.Sources            = new List <string>();

                foreach (XmlElement sourceNode in logNode.SelectNodes("sources/source"))
                {
                    eventLogEntry.Sources.Add(sourceNode.InnerText);
                }
                foreach (XmlElement eventIdNode in logNode.SelectNodes("eventIds/eventId"))
                {
                    if (eventIdNode.InnerText.IsInteger())
                    {
                        eventLogEntry.EventIds.Add(int.Parse(eventIdNode.InnerText));
                    }
                }

                Entries.Add(eventLogEntry);
            }
        }
 public override void RefreshDisplayData()
 {
     if (busyRefreshing)
     {
         return;
     }
     busyRefreshing = true;
     foreach (ListViewItem lvi in lvwEntries2.Items)
     {
         try
         {
             if (lvi.Tag is EventLogCollectorEntry)
             {
                 EventLogCollectorEntry entry = (EventLogCollectorEntry)lvi.Tag;
                 int count = entry.GetMatchingEventLogCount();
                 if (count >= entry.ErrorValue)
                 {
                     lvi.ImageIndex = 3;
                 }
                 else if (count >= entry.WarningValue)
                 {
                     lvi.ImageIndex = 2;
                 }
                 else
                 {
                     lvi.ImageIndex = 1;
                 }
                 lvi.SubItems[2].Text = count.ToString();
             }
             Application.DoEvents();
         }
         catch { }
     }
     busyRefreshing = false;
     RefreshSubList();
 }
        private void RefreshSubList()
        {
            if (busyRefreshing)
            {
                return;
            }
            busyRefreshing = true;

            toolStripStatusLabelDetails.Text = "Loading items...";
            Application.DoEvents();
            Cursor.Current = Cursors.WaitCursor;
            lvwDetails.Items.Clear();
            if (lvwEntries2.SelectedItems.Count > 0)
            {
                List <ListViewItem> listItems = new List <ListViewItem>();
                try
                {
                    foreach (ListViewItem lviEntry in lvwEntries2.SelectedItems)
                    {
                        EventLogCollectorEntry entry = (EventLogCollectorEntry)lviEntry.Tag;
                        foreach (EventLogEntryEx ev in entry.LastEntries) // entry.GetMatchingEventLogEntries())
                        {
                            ListViewItem lvi = new ListViewItem(entry.ComputerLogName);
                            if (ev.EntryType == EventLogEntryType.Information)
                            {
                                lvi.ImageIndex = 0;
                            }
                            else if (ev.EntryType == EventLogEntryType.Warning)
                            {
                                lvi.ImageIndex = 1;
                            }
                            else if (ev.EntryType == EventLogEntryType.Error)
                            {
                                lvi.ImageIndex = 2;
                            }
                            else if (ev.EntryType == EventLogEntryType.FailureAudit)
                            {
                                lvi.ImageIndex = 3;
                            }
                            else if (ev.EntryType == EventLogEntryType.SuccessAudit)
                            {
                                lvi.ImageIndex = 4;
                            }
                            else
                            {
                                lvi.ImageIndex = 1;
                            }
                            lvi.SubItems.Add(ev.TimeGenerated.ToString("yyyy-MM-dd"));
                            lvi.SubItems.Add(ev.TimeGenerated.ToString("HH:mm:ss"));
                            lvi.SubItems.Add(ev.Source);
                            lvi.SubItems.Add(ev.EventId.ToString());
                            lvi.SubItems.Add(ev.MessageSummary);
                            lvi.Tag = ev;
                            listItems.Add(lvi);
                        }
                    }
                    lvwDetails.Items.AddRange(listItems.ToArray());
                }
                catch (Exception ex)
                {
                    ListViewItem lvi = new ListViewItem("Error");
                    lvi.SubItems.Add("Error");
                    lvi.SubItems.Add("Error");
                    lvi.SubItems.Add("Error");
                    lvi.SubItems.Add(ex.Message);
                    listItems.Add(lvi);
                }
            }
            Cursor.Current = Cursors.Default;
            toolStripStatusLabelDetails.Text = string.Format("{0} item(s) found, Last update {1}", lvwDetails.Items.Count, DateTime.Now.ToString("yyyy-mm-dd HH:mm:ss"));
            busyRefreshing = false;
        }