Источник не найден, но некоторые или все журналы событий не могут быть найдены. Недостижимые журналы: безопасность
Я получаю ошибку:
Источник не найден, но некоторые или все журналы событий не могут быть поиск. Недостижимые журналы: безопасность
Когда я запускаю код ниже для захвата ошибок на сервере 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
, но он не работает. Что мне делать, чтобы исправить это?
Ответы
Ответ 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
Локально я запускаю визуальную студию с настройками администратора, и ошибка исчезла.
Если вы получите эту ошибку в планировщике задач, вам нужно проверить запуск опции с высокими привилегиями.