ASP.NET 中的 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
会生成 黄色屏幕,但没有日志条目。
在提供的示例和 DotNetSlackers 上的教程之间,我看不出有什么问题。 我有什么遗漏的吗? 我还尝试通过信号发送生成错误,但这不起作用任何一个。
我正在针对 DotNetNuke 运行此程序,因此这就是我目前认为问题所在的地方。
I'm trying to setup ELMAH to log errors for our application. I have successfully added the modules and am having no problems loading the ErrorLog page (elmah.axd). However, Elmah isn't logging any test exceptions that I'm generating.
My web.config looks like this:
<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>
Hitting the test exception page http://localhost/elmah.axd/test
generates a yellow screen, but no log entry.
Between the sample provided and the tutorial on DotNetSlackers I can't see anything wrong. Is there something I'm missing? I've also attempted to generate errors via Signaling, but that's not working either.
I am running this against DotNetNuke, and so that's where I'm currently thinking the problem lies.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为您需要做的是禁用 DotNetNuke 中的自定义错误消息。
1. 以主机身份登录 dnn Portal
2. 导航至主机 > 主机设置。
2. 进入基本设置-外观部分。
3. 在“使用自定义错误消息”处,取消选中该复选框。
4. 单击“更新”。
这将禁用 DotNetNuke 的错误处理程序。
I think what you need is to do is disable custom error messages in DotNetNuke.
1. Log on dnn Portal as host
2. Navigate to Host > Host Settings.
2. Go to the Basic Settings - Appearance section.
3. At Use Custom Error Messages, uncheck the check box.
4. Click Update.
This will disable DotNetNuke's error handler.
可能 DNN 正在吞噬异常 - 它有自己的异常处理机制吗?
我在使用 ELMAH 和单轨列车时遇到了类似的问题 - Castle MonoRail & ELMAH
仅供参考其他人也有同样的问题。
Could be that DNN is swallowing the exceptions - does it have its own Exception handling mechanism?
I was using ELMAH with Monorail and ran into a similar issue - Castle MonoRail & ELMAH
FYI Someone else with the same problem.
DNN 确实会处理所有异常,因此这可能就是您遇到的问题。 我相信它在应用程序级别处理错误事件,将所有内容记录到数据库中。 我不知道有什么方法可以关闭它,但我也从未真正尝试过。
DNN does process all exceptions, so that's probably the issue you're seeing. I believe it handles the Error event at the application level, logging everything to the database. I don't know of any way to turn this off, but I've never really tried that hard, either.