【问题标题】:ELMAH - pass variable, and other text?ELMAH - 传递变量和其他文本?
【发布时间】:2010-03-25 12:13:59
【问题描述】:

我刚开始玩 ELMAH。

想知道,有没有办法在抛出异常时传递信息,例如变量值或其他文本?

目前我正在使用这个: ErrorSignal.FromCurrentContext().Raise(e);

【问题讨论】:

    标签: c# logging elmah


    【解决方案1】:

    您可以在自定义消息中包含异常对象,如下所示:

    ErrorSignal.FromCurrentContext().Raise(new Elmah.ApplicationException(Message,ex));
    

    http://blog.omniaconnect.net/2009/07/30/using-a-static-class-for-logging-exceptions-using-elmah/所见

    【讨论】:

      【解决方案2】:

      变量依赖于异常的上下文?或者它是全局的(会话值?) 如果它取决于上下文,您可以尝试使用自定义消息手动捕获异常并将异常重定向到 Elmah。

      编辑:sn-p ... .Raise(new Exception("Your custom message with variable value"));

      【讨论】:

        【解决方案3】:

        这样做的一种方法是稍微扩展 elmah 以便它复制会话。基本实现在here 中进行了概述。这个功能似乎没有在 1.2(仍然是测试版)中实现,但我可能错了。

        【讨论】:

          【解决方案4】:

          我抛出一个包含数据的新异常,使用 innerexception 参数来包含原始异常。

          【讨论】:

            【解决方案5】:

            您基本上被困在将字符串传递给 elmah 确实很糟糕,但这就是当您真正了解异常时所基于的异常(至少大多数程序员如何处理它们)。

            我所做的只是创建伪造对象的自定义消息,有点像:

            在客户端安装等的 Class.MethodName 中发生错误,然后注入现有的异常。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2013-06-03
              • 1970-01-01
              • 1970-01-01
              • 2021-08-10
              • 2019-01-17
              • 1970-01-01
              • 2012-06-17
              • 1970-01-01
              相关资源
              最近更新 更多