题
我没发现这是很容易建立;要么有一个失踪的步骤在安装配置,这是不正常工作,或其实我不了解它的目的。也有一些是绝对错误在这里。问题显然必须是我。我只是得不到这个工作。这是我做了什么.
创建一个全新的软应用程序。放下约。aspx页。
<%扔新的异常("blah");%> 把内容在这里。
打页面获得的黄色视的例外。
添加elmah.dll 到站的目录。
添加到网站上。配置文件configurationSections:
<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>
加httpHandlers部分如下:
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
添加的模块部分:
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
添加以处理程序部分:
<add name="Elmah" verb="POST,GET,HEAD" path="elmah.axd" preCondition="integratedMode" type="Elmah.ErrorLogPageFactory, Elmah"/>
增加一个elmah部分:
<elmah>
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
</elmah>
什么是好奇的是,"。XmlFileErrorLog"的一部分,串显示红色作为一个ReSharper错误指示,它"无法解决的符号'.构造函数'",这时我看看elmah.dll 在反射器显示这个目的,需要一个"string"或"IDicationary"在两个公共构造.
我运行Windows Vista64与VS2008年。设定权限App_Data每个人作为Co_Owner.
的 http://localhost:xxxx/elmah.axd 页面做出,并没有显示出的错误。当我打我的"有关"页面,我再次仍然看到黄色的屏幕和elmah.axd仍然没有显示出错误的app_data文件夹。
我取代customerrors与并创建了相关网页:
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm" />
该定义页表示,但elmah.axd仍然显示"没有错误"。App_data仍然空的!
为源来启动这种设置我的使用:code.google.com/p/elmah/wiki/MVC
那么,我搞砸了?
~-=迈克=-~
解决方案
如果检查ErrorLogModule是存在的 configuration/system.web/httpModules
(使用,如果你是在开发网页服务器)和 configuration/system.webServer/modules
(使用由IIS7).这里是片段的网络。config从项目,目前,我正在工作:
<?xml version="1.0"?>
<configuration>
<system.web>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="ErrorLog" />
<remove name="ErrorMail" />
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
</modules>
</system.webServer>
</configuration>
希望这可以帮助
其他提示
尝试移除这个部分:
<elmah>
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
</elmah>
这将意味着Elmah是安装只需使用的默认存记录。这个帮助保障的,因为你知道这是不是一个文件的权限的事情。所以一旦你得到了它的工作与在内存记录然后你可以把它设置了记录到一xml文件。
你也可能想看看这个计算器的问题, 如何获得ELMAH的工作ASP.NET 视[HandleError]属性?, 那是回答阿提夫*阿齐兹的自己。
高温高剪, 查尔斯
我安装了从nuget elmah
和 elmah on XML log
, 没有预期的功能也作虽然我可以访问 http://localhost/elmah.axd
, 但没有错误捕获。
我给写的权限的帐户IIS_IUSERS在文件夹APP_DATA和它开始工作HTTP404错误和错误之外的软基础设施。但它没记录例外情况的内部视.该解决方案是,安装 elmah.视 包nuget并开始捕捉所有的例外情况。
如果你的配置是确定的,那么只要安装的 elmah.mvc
包nuget,它应该开始保存记录内还视,不仅仅是HTTP404.
问题是这条线
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
它通过替换
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">