【问题标题】:Elmah always logs two identical exceptions: any idea why?Elmah 总是记录两个相同的异常:知道为什么吗?
【发布时间】:2011-08-12 15:23:19
【问题描述】:

我在多个项目中使用了 Elmah,并且在每个项目中,每个异常都会生成两条相同的日志记录。除了杂乱和浪费空间之外,它的工作正常。

以前有没有人见过这种行为,或者知道从哪里开始寻找?

编辑:{来自 global.asax.cs}

    protected void Application_Error() {
        // Use ELMAH to log the exception
        var exception = Server.GetLastError();
        var context = HttpContext.Current;
        var signal = ErrorSignal.FromContext(context);
        if (signal != null) {
            signal.Raise(exception, context);
        }

        // Show custom error page if necessary
        if (!_showCustomErrorPages) return;
        if (exception is HttpRequestValidationException) {
            DisplayErrorPage("InvalidInput");
            return;
        }

        DisplayErrorPage("Error");
    }

这是我在“whocanhelpme”项目中使用的示例代码。

【问题讨论】:

    标签: logging exception-handling elmah


    【解决方案1】:

    您是否在Web.config 中注册了两次 ELMAH 错误记录模块?

    可以在system.web\httpModulessystem.webServer\modules 中注册一次,但我最初的想法是,也许您在其中一个(或更多)部分中注册了它两次。也许您可以编辑您的问题以包含您的 Web.config 文件的内容(当然,删除任何敏感信息,如电子邮件设置或连接字符串)?

    另一个想法 - 你在Global.asax 中有一个Application_OnError 事件处理程序吗?如果是这样,您是否在其中做任何可能导致 ELMAH 再次记录错误的事情?

    【讨论】:

    • hmmmm,想想看,我一直在使用 whocanhelpme 项目中的示例代码作为 elmah 实现的一部分,他们只是碰巧抛出了 Application_OnError,甚至对此有评论。 ..显然这是负责一份。当然,现在的问题是“他们写这篇文章时在想什么”。我需要仔细看看这个。
    猜你喜欢
    • 2011-06-04
    • 2023-03-13
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 2021-07-30
    • 2015-11-11
    相关资源
    最近更新 更多