帮助ASP.NET中的Elmah配置

时间:2009-03-20 20:04:53

标签: .net asp.net dotnetnuke elmah

我正在尝试设置ELMAH来记录我们的应用程序的错误。我已成功添加模块,并且加载ErrorLog页面(elmah.axd)没有问题。但是,Elmah没有记录我正在生成的任何测试异常。

我的web.config看起来像这样:

<configSections>
    <!-- Other stuff -->
    <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>

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

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

<httpModules>
    <!-- Other stuff -->
    <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/>
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
    <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
</httpModules>

点击测试异常页面http://localhost/elmah.axd/test会生成yellow screen,但不会生成日志条目。

在提供的示例和DotNetSlackers上的教程之间,我看不出有什么不对。有什么我想念的吗?我还尝试通过Signaling生成错误,但这也不起作用。

我正在针对DotNetNuke运行这个,所以我正在考虑问题所在。

3 个答案:

答案 0 :(得分:8)

我认为您需要做的是在DotNetNuke中禁用自定义错误消息 1.以dnn Portal身份登录为主机
2.导航到主机&gt;主机设置。
2.转到基本设置 - 外观部分。
3.在“使用自定义错误消息”时,取消选中该复选框。
4.单击“更新” 这将禁用DotNetNuke的错误处理程序。

答案 1 :(得分:1)

可能是DNN正在吞下异常 - 它是否有自己的异常处理机制?

我使用ELMAH和Monorail进行了类似的问题 - Castle MonoRail & ELMAH

FYI Someone else遇到同样的问题。

答案 2 :(得分:1)

DNN会处理所有异常,因此这可能是您所看到的问题。我相信它在应用程序级别处理Error事件,将所有内容记录到数据库中。我不知道有什么方法可以解决这个问题,但我也从未真的那么努力过。