log4Net EventlogAppender ne fonctionne pas pour Asp.Net 2.0 Site web?

J'ai configuré log4Net EventLogAppender pour Asp.Net 2.0. Cependant, il n'est pas enregistrer quoi que ce soit. J'ai de la suite dans mon 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>

J'ai déjà Test-Journal d'Événements le Journal créé et l'utilisateur AspNet dispose d'une autorisation sur le Journal des Événements entrée de registre. J'ai aussi log4Net configuré Mondiale.asax Application_Start.

log4net.Config.XmlConfigurator.Configure();

Mise à jour : je suis passé sur le log4net interne de débogage et a trouvé l'erreur suivante dans la trace.

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)

Mise à jour 2 : Il fonctionne enfin si j'ai créer la Source de l'Événement (Test-Web) à l'aide d'une console en fonction de l'application en c# et ensuite à l'aide de l'Application Web.

Avez-vous essayé de retourner sur log4net interne de débogage? C'est peut-être de lancer une erreur que vous ne serait pas normalement voir: logging.apache.org/log4net/release/faq.html

OriginalL'auteur Amitabh | 2010-04-06