C# EventViewer подсчитывает идентификаторы событий

Сходить с ума!!!!

Мне нужен цикл, который будет подсчитывать записи в eventViewer на основе EVENTID. Я могу подсчитать общее количество записей в eventViewer, используя этот код:

    foreach (System.Diagnostics.EventLogEntry entry in myEventLog.Entries)
    {
        int myEventEntry = myLogEntryCollection.Count;
        Console.WriteLine(myEventEntry);
        Console.Read();
    }

Но я пока не могу подсчитать все записи с идентификатором события = 17137, например (событие SQL). ПОЖАЛУЙСТА ПОМОГИ!!

B


person macca    schedule 21.05.2014    source источник


Ответы (1)


попробуйте ниже код

string query = "*[System/EventID=17137 ]";
EventLogQuery eventsQuery = new EventLogQuery("Application", PathType.LogName, query);

try
    {
    EventLogReader logReader = new EventLogReader(eventsQuery);

    for (EventRecord eventdetail = logReader.ReadEvent(); eventdetail != null; eventdetail = logReader.ReadEvent())
    {
        // Read Event details
    }
}
catch (EventLogNotFoundException e)
{
    Console.WriteLine("Error while reading the event logs");
    return;
}
person Neel    schedule 21.05.2014
comment
Спасибо, Нил .... оценил. Но я просто решил сам. Создайте переменную с именем numberofEvents и в цикле просто ++numberOfEvents. Не самый чистый, но я спасу себя от увольнения еще на неделю, лол!! - person macca; 21.05.2014
comment
хе-хе, всего наилучшего @macca - person Neel; 21.05.2014