我已经完成所有设置并且我可以浏览到/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网站......)
答案 0 :(得分:4)
配置似乎是有序的;我最好的猜测是你的IIS Web应用程序用户没有写入App_Data的权限。如果您已锁定权限,则应用程序用户将具有读取权限,但不会写入权限。
您可以打开权限或登录到Web路径之外的另一个目录(这是一个更安全的IMO),并确保在那里设置用户的读/写权限。
答案 1 :(得分:4)
我是从nuget elmah
和elmah on XML log
安装的,尽管我可以访问http://localhost/elmah.axd
,但没有获得预期的功能,但没有错误捕获。
我向文件夹APP_DATA中的帐户IIS_IUSERS提供了写入权限,并且它开始处理HTTP 404错误和MVC基础结构之外的错误。但它没有在mvc中记录异常。解决方案是从nuget安装 elmah.mvc 包,它开始捕获所有异常。
如果您的配置没问题,那么只需从nuget安装elmah.mvc
软件包,它就应该开始在mvc中存储日志,而不仅仅是HTTP 404。