Из MSDN: «Приложения, работающие с использованием идентификатора Network Service, могут записывать в журнал событий , используя существующие источники событий , но они не могут создавать новые источники событий из-за недостаточных разрешений реестра. "
И ...
" Если Источник для журнала событий, связанного с экземпляром EventLog , не существует, создается новый источник событий. "
Похоже, что ваш источник журнала событий не существует, и он пытается создать новый источник журнала событий, используя пользователя сетевой службы (который требует записи в реестр, поэтому не будет работать).
"Чтобы приложение ASP.NET могло выполнять запись в журнал событий с использованием источника событий, который еще не существует, у вас есть две опции:"
- Создание новых источников событий во время установки приложения
- Вручную создайте новую запись источника событий в реестре.
Итак, необходимо создать журнал за пределами приложения (вы не можете сделать это программно с этим пользователем. Сделайте это либо вручную, либо создайте простое приложение командной строки для упрощения установки).
Для получения полной информации:
http://msdn.microsoft.com/en-us/library/ms998320.aspx#paght000015_eventlogaccess
Лично я бы порекомендовал вам не изменять разрешения для пользователей сети, а создавать источник журналов вне веб-приложения. Я предпочитаю консольное приложение (которое займет у вас около 5 минут, чтобы написать, и которое вы также можете использовать для подготовки других машин). Запустите новое консольное приложение в VS.NET и добавьте код для создания источников журналов. Пример:
http://www.dotnetspider.com/resources/23593-Create-Event-log-VB-NET.aspx
Затем просто запустите консольное приложение из строки cmd при входе в систему с соответствующими разрешениями.