ELMAH.axd是可浏览的,但永远不会记录我的任何错误?

时间:2010-01-06 20:33:51

标签: asp.net-mvc elmah

我已经完成所有设置并且我可以浏览到/elmah.axd但是我一直在导致所有这些错误并且它不会记录任何这些错误,它只是说'没有记录错误'...到底是什么我做错了吗?

以下是我添加到web.config中的内容:

<configSections>
  <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" />     
  </sectionGroup>
</configSections>

<httpHandlers>
  <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>

<httpModules>
  <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />  
</httpModules>

<elmah>
  <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
  <security allowRemoteAccess="yes" />
</elmah>

另外:这已经是我的RegisterRoutes()

的开头
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

我读到ASP.NET MVC 1.0不再重要了,据说(根据ELMAH网站......)

2 个答案:

答案 0 :(得分:4)

配置似乎是有序的;我最好的猜测是你的IIS Web应用程序用户没有写入App_Data的权限。如果您已锁定权限,则应用程序用户将具有读取权限,但不会写入权限。

您可以打开权限或登录到Web路径之外的另一个目录(这是一个更安全的IMO),并确保在那里设置用户的读/写权限。

答案 1 :(得分:4)

解决方案配方

我是从nuget elmahelmah on XML log安装的,尽管我可以访问http://localhost/elmah.axd,但没有获得预期的功能,但没有错误捕获。

我向文件夹APP_DATA中的帐户IIS_IUSERS提供了写入权限,并且它开始处理HTTP 404错误和MVC基础结构之外的错误。但它没有在mvc中记录异常。解决方案是从nuget安装 elmah.mvc 包,它开始捕获所有异常。

如果您的配置没问题,那么只需从nuget安装elmah.mvc软件包,它就应该开始在mvc中存储日志,而不仅仅是HTTP 404。