Как я могу записать в журнал событий Windows, используя C # (я получаю какую-то ошибку)? - PullRequest
1 голос
/ 15 декабря 2009

Я написал:

.
.
.
//Log exception to the event log
if (!EventLog.SourceExists("PodaHIS")) {
    EventLog.CreateEventSource("PodaHIS", "Application");   
}

EventLog eventLog = new EventLog();
eventLog.Log = "Application";
eventLog.Source = "PodaHIS";
eventLog.WriteEntry(error.ToString(), EventLogEntryType.Error);

Я также включил разрешение на чтение для LOCALMACHINE \ ASPNET.

И взамен я получаю:

The source was not found, but some or all event logs could not be searched. Inaccesible logs: Security.

Кто-нибудь знает, почему это происходит?

Ответы [ 5 ]

3 голосов
/ 15 декабря 2009

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog

Что нужно сделать, так это предоставить дополнительный ключ " Security " разрешения чтения ключа EventLog. После этого я перезапустил свой IIS.

1 голос
/ 02 мая 2012

Если у вас есть разрешение на поле, в которое вы хотите записать журнал событий, тогда вы можете запустить скрипт, который я написал .

1 голос
/ 15 декабря 2009

этот кб artical объясняет шаги, необходимые для того, чтобы дать вашему процессу asp правильные права безопасности для записи в журнал событий ...

т.п.н.

0 голосов
/ 15 декабря 2009

Какая у вас среда развертывания? Если это Vista / Server 2008, то добавление рабочей учетной записи в группу администраторов не будет работать из-за UAC.

Эта ссылка подробно объясняет проблему. Но я бы порекомендовал попробовать создать источник событий вручную, чтобы ASPNET не нуждался в его создании ...

0 голосов
/ 15 декабря 2009

Я думаю, что для создания источника в журнале событий необходим более высокий уровень доступа. Возможно, что ссылка на журнал безопасности является случайной, и она просто сообщает об этом в качестве возможной причины. Если вы зайдете как администратор и создадите исходный код PodaHIS самостоятельно, вы можете обнаружить, что он может писать в него.

...