Подтвердить что ты не робот

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

Я получаю ошибку:

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

Когда я запускаю код ниже для захвата ошибок на сервере Win 2K12 R2 IIS 8.5

EventLog elog = new EventLog();
EventLog.CreateEventSource("MyApp", "Application");
EventLog.WriteEntry(Source, swError.ToString(), EventLogEntryType.Error);

Я дал полный доступ к HKLM\SYSTEM\CurrentControlSet\services\eventlog, но он не работает. Что мне делать, чтобы исправить это?

4b9b3361

Ответ 1

См. создание раздела реестра.

Эта проблема может возникать не только из-за разрешений, но также из-за отсутствия ключа источника события, поскольку она не была зарегистрирована успешно (для этого вам нужны права администратора), если вы просто открываете Visual Studio, как обычно, и обычно запускаете программу этого будет недостаточно). Убедитесь, что ваш источник событий "MyApp" фактически зарегистрирован, то есть он отображается в реестре под HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application.

От MSDN EventLog.CreateEventSource():

Чтобы создать источник событий в Windows Vista и более поздних версиях или Windows Server 2003, вы должны иметь административные привилегии.

Таким образом, вы должны либо запустить код регистрации источника события в качестве администратора (также проверьте, существует ли источник ранее - см. пример выше MSDN), либо вы можете вручную добавить ключ в реестр:

  • создать regkey HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\MyApp;
  • внутри, создайте строковое значение EventMessageFile и установите его значение, например. C:\Windows\Microsoft.NET\Framework\v2.0.50727\EventLogMessages.dll

Ответ 2

Я получил эту ошибку при запуске Visual Studio. В запуске Visual Studio в качестве администратора приложение смогло получить доступ к журналам безопасности, поскольку оно имело достаточные разрешения (таким образом предотвращая ошибку).

Ответ 3

Я знаю, что я немного опаздываю на вечеринку... что происходит много, вы просто используете настройки по умолчанию в своем пуле приложений в IIS. В утилите администрирования IIS перейдите к app pools->select pool-->advanced settings->Process Model/Identity и выберите идентификатор пользователя, который имеет права доступа. По умолчанию установлено значение ApplicationPoolIdentity. Если вы разработчик, вы, скорее всего, администратор на своей машине, поэтому вы можете выбрать свою учетную запись для запуска пула приложений. На серверах развертывания разрешите администраторам справляться с этим.

Ответ 4

всякий раз, когда вы запускаете визуальную студию Запустите его как administarator.it для меня.

Ответ 5

попробуйте указать идентификатор AppPool или сетевые службы, в зависимости от того, какой из них применим HKLM\SYSTEM\CurrentControlSet\services\eventlog\security. Я получал такую ​​же ошибку. Это сработало для меня. См. Также ошибка в том, что недоступные журналы являются журналами безопасности.

Я также дал разрешение в eventlog\application.

Я предоставлял полный доступ везде.

Ответ 6

Недавно я начал получать эту ошибку внутри моего внутреннего журнала ошибок NLog с помощью Visual Studio 2013. Решение уже несколько лет использует NLog v2.0.0. В течение последнего месяца наш основной журнал перестал работать. Чтобы исправить это, я обновил NLog до последней версии (v3.1.0) через Nuget. Исключение безопасности теперь исчезло, и все сообщения журнала снова появляются.

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

Ответ 7

Это также может быть связано с тем, что, возможно, он не сможет найти файл .dll. Либо файл не находится в папке, либо переименован. Я столкнулся с той же проблемой и обнаружил, что в DLL файле отсутствует файл .dll.

Ответ 8

Используйте NetworkService как значение Identity в дополнительных настройках пула приложений при отладке в Visual Studio. ApplicationPoolIdentity работает, если вы открываете сайт непосредственно из браузера (или переходите в виртуальный каталог в IIS и используйте параметр "Обзор" справа).

Ответ 9

Локально я запускаю визуальную студию с настройками администратора, и ошибка исчезла.

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