Я новичок в мире Elmah, и я пытаюсь просмотреть его журнал (в проекте web.api), но он не работает. Я думаю, что не хватает какой-то конфигурации :(
Вот конфигурация у меня есть:Elmah с log4net не регистрируется
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Web.config
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
</configSections>
<system.web>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
</httpModules>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
</system.web>
<elmah>
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~\App_Data\" />
<security allowRemoteAccess="1" />
</elmah>
<log4net>
<logger name="PROJECT">
<level value="ALL" />
<appender-ref ref="elmahappender" />
</logger>
<!--ELMAH Appender-->
<appender name="elmahappender" type="elmahappender_log4net.ELMAHAppender, elmahappender_log4net">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [thread] %-5level %logger - %message%newline" />
</layout>
<UseNullContext>False</UseNullContext>
</appender>
</log4net>
<system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="Elmah" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</handlers>
<modules runAllManagedModulesForAllRequests="true">
<remove name="FormsAuthentication" />
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
</modules>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
Может кто-нибудь сказать мне, что я пропускаю
Примечание? : Если я использую другое приложение вроде FileAppender, оно работает!
Ваш первый шаг должен состоять в том, чтобы включить log4net debug logging и искать ошибки. Это [сообщение в блоге от 10 лет назад] (http://haacked.com/archive/2006/09/27/Log4Net_Troubleshooting.aspx/) поможет. – stuartd
Привет, Стюарт, спасибо за ваш ответ, но моя проблема не в этом. Log4net отлично работает, когда я использую FileAppender как appender, но когда я использую ELMAH, он не работает, поэтому я думаю, что мне не хватает какой-либо конфигурации. Если у вас есть какая-то другая идея, это приветствуется. – Lau
Log4net будет использовать правильно настроенные appenders и игнорировать те, которые не являются - но он также выведет детали **, что ** конфигурация недействительна для отладки журнала. – stuartd