/// <summary> /// <c>EventLogEntry</c>의 원본 이름으로 찾기 /// </summary> /// <param name="eventLog">검색 대상 <c>EventLog</c></param> /// <param name="source">검색할 <c>EventLogEntry</c>의 원본 이름</param> /// <param name="ignoreCase">대소문자 구분 여부</param> /// <returns>찾은 <c>EventLogEntry</c>의 컬렉션</returns> public static IEnumerable<EventLogEntry> FindEntryBySource(EventLog eventLog, string source, bool ignoreCase) { eventLog.ShouldNotBeNull("eventLog"); return eventLog.Entries .Cast<EventLogEntry>() .Where(entry => source.EqualTo(entry.Source)); }
/// <summary> /// 지정된 <c>EventLogEntryType</c>(수준)과 같은 <c>EventLogEntry</c>를 검색한다. /// </summary> /// <param name="eventLog">대상 <c>EventLog</c> 인스턴스</param> /// <param name="entryType">검색할 <c>EventLogEntryType</c>(수준)의 값</param> /// <returns>찾은 <c>EventLogEntry</c>의 컬렉션</returns> public static IEnumerable<EventLogEntry> FindEntryByEntryType(EventLog eventLog, EventLogEntryType entryType) { eventLog.ShouldNotBeNull("eventLog"); return eventLog.Entries .Cast<EventLogEntry>() .Where(entry => entry.EntryType == entryType); }
/// <summary> /// EventLogEntry의 생성 시간을 기준으로 검색한다. /// </summary> /// <param name="eventLog">대성 EventLog 인스턴스</param> /// <param name="generatedTime">검색할 기준 시간</param> /// <param name="isBefore">기준시간 전/후를 판단하는 옵션</param> /// <returns>검색된 로그 엔트리의 컬렉션</returns> /// <returns></returns> public static IEnumerable<EventLogEntry> FindEntryByGeneratedTime(EventLog eventLog, DateTime generatedTime, bool isBefore) { eventLog.ShouldNotBeNull("eventLog"); foreach(EventLogEntry entry in eventLog.Entries) { if((isBefore && entry.TimeGenerated <= generatedTime) || (!isBefore && entry.TimeGenerated >= generatedTime)) yield return entry; } }