Используйте пользовательские представления (фильтры) в журнале событий из C # - PullRequest
2 голосов
/ 26 августа 2011

В более новых версиях Windows есть возможность определять «настраиваемые представления» (фильтры) в средстве просмотра событий. На серверах есть, например, предопределенное настраиваемое представление «Административные события», которое фильтрует важные ошибки и предупреждения.

Есть ли возможность доступа к этим представлениям из C #, т. Е. Могу ли я перебрать все записи в «Административных событиях»?

1 Ответ

0 голосов
/ 26 августа 2011

В следующем коде показан пример использования классов EventLog и EventLogEntry в пространстве имен System.Diagnostics для доступа к различным журналам событий в вашей системе.

EventLog[] eventLogs = EventLog.GetEventLogs(System.Environment.MachineName);

foreach (EventLog currentLog in eventLogs)
{
    Console.WriteLine("Log: " + currentLog.Log);

    int counter = 0;
    try
    {
        foreach (EventLogEntry entry in currentLog.Entries)
        {
            if (counter++ >= 10) break;
            Console.WriteLine(entry.Message);
        }
    }
    catch (SecurityException) { }
}
...