private void InitializeEventLogs(string sourceName) { eventLogs.Clear(); revertedEventLogEntries.Clear(); foreach (var currentMachine in machineNames) { try { var currentEventLog = new EventLog(logName, currentMachine, sourceName); eventLogs.Add(currentEventLog); var eventLogEntries = new EventLogEntry[currentEventLog.Entries.Count]; currentEventLog.Entries.CopyTo(eventLogEntries, 0); revertedEventLogEntries.AddRange(eventLogEntries.Reverse().ToList()); } catch (InvalidOperationException ex) { var eventLogNotFoundExceptionMessage = string.Format("The specified event log- '{0}' doesn't exist on machine- '{1}'", logName, currentMachine); throw new NonExistingEventLogException(eventLogNotFoundExceptionMessage, ex); } } }