Сообщение об ошибке при записи в журнал событий Windows

Когда я запускаю кусок кода, который я написал, я продолжаю получать следующую ошибку:

Источник не найден, но поиск в некоторых или во всех журналах событий невозможен. Недоступные журналы: Безопасность.

Я дважды проверил, и я нигде вручную не пишу журналы, поэтому я предполагаю, что мое приложение делает это самостоятельно.

Я нашел это сообщение, в котором предлагается предоставить права на чтение/запись запись реестра, соответствующая журналам событий. У меня было три вопроса по этому поводу:

  1. Это правильный способ исправить эту ошибку?

  2. Если я пойду по этому пути, должен ли я давать разрешения тому, что работает в моем пуле приложений? (это веб-приложение)

  3. Безопасно ли предоставлять доступ для чтения/записи к этому разделу реестра?


person Abe Miessler    schedule 01.03.2011    source источник
comment
Вы можете отправить полную трассировку стека?   -  person Davide Piras    schedule 01.03.2011
comment
Я мог что-то упустить, но, похоже, вам было бы лучше попытаться выяснить, почему код, который не должен записывать в журнал событий, записывает в журнал событий и какой источник он использует , если вы выясните, почему это так. Источник может быть просто необходимо настроить, чтобы он мог писать в него.   -  person Andrew Barber    schedule 01.03.2011
comment
Я выполнил быстрый поиск строки с помощью рефлектора в большинстве сборок .Net 4, и он не нашел там точного сообщения об ошибке. На каком ты фреймворке? Какие-то конкретные сборки?   -  person rene    schedule 01.03.2011
comment
@rene, я использую 3.5, и это рабочий процесс SharePoint.   -  person Abe Miessler    schedule 01.03.2011
comment
@Andrew, мне кажется, что он ДОЛЖЕН писать в журналы событий, но у него просто нет необходимых разрешений. Почему вы говорите, что код не должен писать в журнал событий? Если в моем приложении есть что регистрировать, я хотел бы это увидеть.   -  person Abe Miessler    schedule 01.03.2011
comment
@ Дэвид, я посмотрю, смогу ли я его выкопать. Поскольку я просматриваю SharePoint, кажущиеся мелочи, такие как получение трассировки стека, на удивление сложны...   -  person Abe Miessler    schedule 01.03.2011
comment
Хорошо, сообщение исходит от System.Diagnostics.CreateEventSource и всплывает, когда не может получить доступ к одной из записей реестра в SYSTEM\CurrentControlSet\Services\EventLog. Если бы вы могли выяснить, какое имя события создается, добавьте этот источник в журнал событий, вы также избавитесь от этого конкретного сообщения...   -  person rene    schedule 01.03.2011
comment
Это может помочь: goo.gl/IirtH   -  person bgs264    schedule 01.03.2011


Ответы (1)


Это определенно похоже на проблему с разрешениями. Это связано с тем, что источник, который вы пытаетесь записать в журнал событий, еще не существует. После его создания эта ошибка должна исчезнуть. Поскольку вам просто нужно убедиться, что источник добавлен в первый раз, вы можете попробовать подход реестра (предоставить доступ пользователю AppPool), а затем удалить доступ к реестру после создания источника.

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

person rsbarro    schedule 01.03.2011
comment
Возможно ли, что он только ДУМАЕТ, что его не существует, потому что он даже не может прочитать раздел реестра? - person Abe Miessler; 01.03.2011
comment
Возможно, но я не видел, чтобы это произошло раньше. Я довольно часто сталкивался с этой ошибкой, и для моих приложений она всегда исчезает после создания источника. Я бы, вероятно, начал отлаживать это, изменив настройки безопасности в реестре, чтобы я мог добавить одну запись, а затем я бы отменил эти изменения, чтобы посмотреть, работает ли ведение журнала. Если вы используете iis, вам, вероятно, понадобится iisreset или, по крайней мере, перезапуск пула приложений между изменениями. - person rsbarro; 01.03.2011