public static IEnumerable <ApplicationError> GetBySite(int siteIisId, StatsRange range) { Int64 msLookback = 0; switch (range) { case StatsRange.LastMonth: msLookback = 2592000000; break; case StatsRange.LastWeek: msLookback = 604800000; break; case StatsRange.Last24Hours: msLookback = 86400000; break; } var query = string.Format(@"<QueryList> <Query Id=""0"" Path=""Application""> <Select Path=""Application"">*[System[Provider[@Name='ASP.NET 2.0.50727.0' or @Name='ASP.NET 4.0.30319.0'] and (Level=2 or Level=3){0}]]</Select> </Query> </QueryList>", (msLookback == 0) ? null : "and TimeCreated[timediff(@SystemTime) <= " + msLookback + "]"); var elq = new EventLogQuery("Application", PathType.LogName, query) { ReverseDirection = true }; using (var elr = new EventLogReader(elq)) { var events = new List <EventRecord>(); for (var eventInstance = elr.ReadEvent(); null != eventInstance; eventInstance = elr.ReadEvent()) { if (eventInstance.Properties.Count() > 9 && eventInstance.Properties[8].Value.ToString().StartsWith("/LM/W3SVC/" + siteIisId + "/")) { events.Add(eventInstance); } } return(events.Select(ParseEntry)); } }
public static IEnumerable<ApplicationError> GetBySite(int siteIisId, StatsRange range) { Int64 msLookback = 0; switch (range) { case StatsRange.LastMonth: msLookback = 2592000000; break; case StatsRange.LastWeek: msLookback = 604800000; break; case StatsRange.Last24Hours: msLookback = 86400000; break; } var query = string.Format(@"<QueryList> <Query Id=""0"" Path=""Application""> <Select Path=""Application"">*[System[Provider[@Name='ASP.NET 2.0.50727.0' or @Name='ASP.NET 4.0.30319.0'] and (Level=2 or Level=3){0}]]</Select> </Query> </QueryList>", (msLookback == 0) ? null : "and TimeCreated[timediff(@SystemTime) <= " + msLookback + "]"); var elq = new EventLogQuery("Application", PathType.LogName, query) { ReverseDirection = true}; using (var elr = new EventLogReader(elq)) { var events = new List<EventRecord>(); for (var eventInstance = elr.ReadEvent(); null != eventInstance; eventInstance = elr.ReadEvent()) { if (eventInstance.Properties.Count() > 9 && eventInstance.Properties[8].Value.ToString().StartsWith("/LM/W3SVC/" + siteIisId + "/")) events.Add(eventInstance); } return events.Select(ParseEntry); } }