ASP.NET 中的 Elmah 配置帮助

发布于 2024-07-14 23:30:29 字数 1801 浏览 7 评论 0原文

我正在尝试设置 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

叫嚣ゝ 2024-07-21 23:30:30

我认为您需要做的是禁用 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.

挽梦忆笙歌 2024-07-21 23:30:30

可能 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.

九命猫 2024-07-21 23:30:30

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文