【发布时间】:2016-12-04 12:11:51
【问题描述】:
我是 Elmah 世界的新手,我正在尝试使用它查看我的日志(在 web.api 项目中),但它不起作用。我想我缺少一些配置:(
这是我的配置:
[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 调试日志并查找任何错误。这个blog post from 10 years ago 会有所帮助。
-
您好 Stuartd,感谢您的回答,但我的问题不是这样。当我使用 FileAppender 作为附加程序时,Log4net 工作正常,但是当我使用 ELMAH 时它不起作用,所以我认为我缺少一些配置。如果您有任何其他想法,欢迎提出。
-
Log4net 将使用正确配置的附加程序,并忽略那些未正确配置的附加程序 - 但它也会输出 what 配置的详细信息对调试日志记录无效。
标签: c# asp.net-web-api2 log4net elmah