在 ASP.Net MVC 中停止 Elmah 动态记录

Stop Elmah logging dynamically in ASP.Net MVC

我通过在我的一个应用程序中使用 this 文章实现了 Elmah 日志记录错误,并且 运行 如预期的那样正常。

现在,根据要求,我必须动态停止记录错误,这将由用户处理,用户可以 运行 记录错误,也可以不通过简单地在 web.config.

中设置

但我不知道如何动态停止它,我也阅读了 this 文章,但我无法停止记录错误。

我有什么遗漏或应该更改的吗?

按照 Whosebug 中的建议回答您 link,您可以从 Web.config 中注释掉 ErrorLog 元素。这不会禁用日志记录(如已接受的答案所建议的那样),但会切换到使用 ELMAH 中的内存记录器。这将在内存中记录所有错误,这不会减慢您的安装速度。如果你想完全删除错误日志记录,你可以在 Web.config.

中注释掉所有与 ELMAH 相关的模块

如果你想要切换,我已经在我的 ELMAH Tutorial 中描述过了。创建新的应用设置:

<add key="ELMAH:disable" value="false" />

然后在您的 Global.asax.cs 文件中添加以下代码:

void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
    if (bool.Parse(ConfigurationManager.AppSettings["ELMAH:disable"]))
        e.Dismiss();
}