public void InformationCriteriaAndLast10Minutes()
        {
            var criteria = new EventLogQueryCriteria();

            criteria.EventLogEntryTypeList.Add(EventLogEntryLevel.Information);
            criteria.DateFrom = DateTime.Now.AddMinutes(-10);
            var queryString = _eventLogCriteriaConverter.Convert(criteria);
            var r           = _eventLogReaderService.ReadLogs("localhost", new EventLogQuery("Application", PathType.LogName, queryString), null);

            Assert.IsTrue(r.All(x => x.TimeCreated >= criteria.DateFrom));
        }
示例#2
0
        public IList <EventRecord> ReadLogs(IList <string> serversList, EventLogQueryCriteria criteria)
        {
            EventLogQuery      query      = new EventLogQuery("Application", PathType.LogName, _eventLogCriteriaConverter.Convert(criteria));
            List <EventRecord> returnList = new List <EventRecord>();
            List <Thread>      threadList = new List <Thread>();

            foreach (var server in serversList.Distinct())
            {
                var t = new Thread(() => returnList.AddRange(_eventLogReaderService.ReadLogs(server, query, criteria.DescriptionContains)));
                t.Start();
                threadList.Add(t);
            }

            threadList.ForEach(x => x.Join());

            returnList = returnList.OrderBy(x => x.TimeCreated).ToList();

            return(returnList);
        }