Я настроил log4Net EventLogAppender для Asp.Net 2.0. Однако он ничего не регистрирует. Я следую в своем Web.Config.
<log4net>
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
      <param name="LogName" value="Test Log" />
      <param name="ApplicationName" value="Test-Web" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <root>
      <priority value="ERROR"/>
      <appender-ref ref="EventLogAppender"/>
    </root>
    <logger name="NHibernate">
      <level value="ERROR" />
      <appender-ref ref="EventLogAppender" />
    </logger>
  </log4net>
У меня уже есть журнал событий тестового журнала, и у пользователя AspNet есть разрешение на запись реестра журнала событий. У меня также есть log4Net, настроенный в приложении Global.asax Application_Start.
log4net.Config.XmlConfigurator.Configure();
Обновление. Я включил внутреннюю отладку log4net и обнаружил следующую ошибку в трассировке.
log4net:ERROR XmlHierarchyConfigurator: Could not create Appender [EventLogAppender] of type [log4net.Appender.EventLogAppender]. Reported error follows.
System.Security.SecurityException: The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.
   at System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly)
   at System.Diagnostics.EventLog.SourceExists(String source, String machineName)
   at System.Diagnostics.EventLog.SourceExists(String source)
   at log4net.Appender.EventLogAppender.ActivateOptions()
   at log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(XmlElement appenderElement)
Обновление 2: он, наконец, работает, если я создаю источник событий (Test-Web) с помощью консольного приложения в С#, а затем с помощью веб-приложения.
