asp.net-mvc - 如何停止 Elmah 日志记录?

标签 asp.net-mvc elmah elmah.mvc

我在 Azure 网站上使用 Elmah.MVC 2 和 MVC3、ASP.NET 4.5。

我已将其设置为通过 web.config 记录到网络服务器上的 XML 文件。这一切都有效。但是我想暂时停止它,因为我相信它可能会减慢网络服务器的速度,因为它占用了写入这些错误文件的时间。我计划登录到 SQL Server。但现在我需要阻止 Elmah。

我的 Web.config Elmah 部分是:

    <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" />
  <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>

<add key="elmah.mvc.disableHandler" value="true" />
<add key="elmah.mvc.disableHandleErrorFilter" value="false" />
<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.IgnoreDefaultRoute" value="false" />
<add key="elmah.mvc.allowedRoles" value="Admin" />
<add key="elmah.mvc.allowedUsers" value="Admin" />
<add key="elmah.mvc.route" value="elmah" />

<httpModules>
  <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
  <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
  <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
</httpModules>

<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
  <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
  <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
  <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
</modules>

  <elmah>
    <security allowRemoteAccess="yes" />
    <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="myDatabaseCS" />
    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
    </elmah>
</configuration>

我以为这一行阻止了它:

    <add key="elmah.mvc.disableHandler" value="true" />

但可惜没有。但是我无法访问 Elmah 页面,即/Elmah 只是将我返回到登录页面。

如何停止 Elmah 日志记录?

谢谢。

编辑1:

这可能与 Global.asa 中的此有关:

//filters.Add(new ElmahHandledErrorLoggerFilter());
filters.Add(new HandleErrorAttribute());

第一行已被注释掉,因为我认为 V2 中不需要它。我相信所有错误处理现在都已与 Elmah 合并。

最佳答案

只需删除 <errorLog>来自您的 <elmah> 的元素部分。或者注释掉。这将禁用日志记录功能,当您需要恢复功能时,您所要做的就是添加那些 <errorLog>元素再次回归。这样,当您想要恢复功能时,您不必删除任何可能导致问题的核心 Elmah 组件,特别是如果您错过了某些内容。

关于asp.net-mvc - 如何停止 Elmah 日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25393171/

相关文章:

c# - 带有翻译的 ASP.NET MVC bundle 脚本

c# - 完成 asp.net web api 2 的 Elmah 日志记录设置

asp.net-mvc-4 - Elmah.MVC 2.0.1 - 保护 elmah 日志

c# - 将数据发布到 HTTPS URL 时,GetRequestStream() 抛出超时异常

c# - 部分/部分中的 asp.net mvs 部分?

c# - MVC3 View 无法找到添加的引用类

asp.net - elmah 也处理捕获的异常吗

c# - 使用 Elmah 代替 try/catch 可以吗?

c# - 如何在 ASP.NET 5/vNext/Core 中使用 Elmah?

c# - 如何将 Elmah.MVC 与 ApiController 一起使用?