Как указать события глубоко внутри «Журналы приложений и служб»? - PullRequest
3 голосов
/ 12 июля 2011

Следующий фрагмент кода запускает событие, когда событие регистрируется.Пример кода работает нормально, но журнал, который я хочу отслеживать, на самом деле «Журналы приложений и служб> Microsoft> Windows> Планировщик задач> Оперативный».

Что я должен вставить вместо «Приложения» в примере кода?

...
EventLog myNewLog = new EventLog("Application", ".", "testEventLogEvent");                 

myNewLog.EntryWritten += new EntryWrittenEventHandler(MyOnEntryWritten);
myNewLog.EnableRaisingEvents = true;
...

1 Ответ

3 голосов
/ 13 июля 2011

Имя журнала Microsoft-Windows-TaskScheduler/Operational, но я не думаю, что вы можете получить к нему доступ, используя класс EventLog. Я думаю, что журнал основан на трассировке событий для Windows, поэтому вам нужно использовать пространство имен System.Diagnostics.Eventing.Reader для доступа к нему.

Может быть полезна страница Сценарии журнала событий , в частности, Как: Подписаться на события в журнале событий статья может помочь вам начать работу.

Обновление : Как: подписаться на события в журнале событий Код работал для меня после того, как я изменил имя журнала (я также изменил запрос на запрос уровня = 4) ...

EventLogQuery subscriptionQuery = new EventLogQuery(
    "Microsoft-Windows-TaskScheduler/Operational", PathType.LogName, "*[System/Level=4]");
...