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(); } }
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(); } }
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; }