EventLog - Получить доступные журналы - PullRequest
9 голосов
/ 21 октября 2011

Используя следующий код, я могу отобразить все записи, перечисленные в журнале «Приложение»:

EventLog appLog = new EventLog();
appLog.Log = "Application";
appLog.MachineName = ".";  

foreach (EventLogEntry entry in appLog.Entries)
{
 // process
}  

Поскольку у меня нет доступа к серверу FTP или RDP, естьЕсть ли способ получить список всех доступных журналов, кроме «Приложения»? Некоторые журналы являются стандартными, но пользователи / приложения могут добавлять новые.

Ответы [ 2 ]

10 голосов
/ 21 октября 2011

Пробег:

var d = EventLog.GetEventLogs();
        foreach(EventLog l in d)
        {
            Console.WriteLine(l.LogDisplayName);
        }

Если вы хотите увидеть все имена. Они хранятся в массиве.

EDIT: Чтобы работать так, как вы его настроили, используйте:

var d = EventLog.GetEventLogs();
        foreach(EventLog l in d)
        {
            foreach (EventLogEntry entry in l.Entries)
            {
                // process
            }  
        }
5 голосов
/ 21 октября 2011

Да - используйте статический метод EventLog.GetEventLogs ... ОСТОРОЖНО, для этого необходимы соответствующие разрешения ... подробности и пример кода см. http://msdn.microsoft.com/en-us/library/ht0k516y.aspx

...