gpt4 book ai didi

asp.net-mvc - 手动 Elmah 日志记录

转载 作者:行者123 更新时间:2023-12-04 06:20:21 24 4
gpt4 key购买 nike

如何仅在需要时使用 Elmah 记录器?
我有 ErrorsController,只有在 excpetion 未知时才需要记录它:

Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception(string.Format("{0}, {1}", controller, action), exception));

我没有实现 ElmahAttributes,Elmah 只在 web.config 中添加。
我怎么能做到这一点?我有想法使用一些 errorFilter 来过滤所有传入的错误,但我认为它不是很好。

UPD

我添加了忽略所有错误的过滤器:
<errorFilter>
<ignoreAll>
<regex binding="Context.Request.Url" pattern="." />
</ignoreAll>
</errorFilter>

但它绝对忽略了一切,即使我打电话手动登录。

最佳答案

我明白为什么过滤器会忽略错误 - 因为在使用 Elmah.ErrorSignal.FromCurrentContext().Raise() 时我们正在“模拟”获取错误的过程,这些错误属于过滤器。
我们应该使用 Elmah logger 方法来将错误添加到日志中,而不是这种方法:

Elmah.ErrorLog.GetDefault(System.Web.HttpContext.Current).Log()

此方法会将错误添加到日志中,下面的过滤器将忽略所有其他方法:
<errorFilter>
<test>
<regex binding="Context.Request.Url" pattern="." />
</test>
</errorFilter>

毕竟,我有一个问题 - 里面的姓名标签 <errorFilter>只能是 test ?

关于asp.net-mvc - 手动 Elmah 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6662517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com