设置:
我在根文件夹 (~/tracker) 的子文件夹中有一个 ASP.NET MVC 4 应用程序。
我使用 NuGet 在 MVC 应用程序中安装了 ELMAH。
开发机器:
在我的开发机器上,网站位于根目录。ELMAH 工作正常。
服务器上的问题:
在服务器上,我可以看到 ELMAH 页面,但尽管产生了错误,但没有记录任何错误。它只是说:“没有发现错误”。
它也没有任何样式出现。
服务器上的 Web.config:
服务器 web.config 上的 Elmah 相关位是:
配置部分:
<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>
应用设置:
<appSettings>
<add key="elmah.mvc.disableHandler" value="false" />
<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.allowedRoles" value="Admin" />
<add key="elmah.mvc.route" value="tracker/elmah" />
</appSettings>
http模块:
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
</httpModules>
系统.web服务器:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
</modules>
</system.webServer>
最后:
<elmah>
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data/Elmah" />
<security allowRemoteAccess="yes" />
</elmah>