【问题标题】:Asp.Net MVC Error Handling & loggingAsp.Net MVC 错误处理和日志记录
【发布时间】:2011-06-03 14:05:54
【问题描述】:

我正在尝试捕获异常并记录它。

目前我已经编写了一个实用程序方法并在 catch 块中将异常传递给它,最后使用 MS Enterprise Library 4.0 记录应用程序。

  1. 我想知道有没有其他更好的方法来记录错误。
  2. 在同一视图中针对某些类型的异常显示异常消息,以便休息导航到错误页面。

如果有人可以帮助我!

导航

【问题讨论】:

    标签: asp.net-mvc logging exception-handling error-handling


    【解决方案1】:

    如果您正在寻找错误记录,您可以尝试 elmah

    【讨论】:

      【解决方案2】:

      如果您正在滚动自己的异常日志记录,您可以创建一个覆盖 OnException 方法的基本 Controller 类

      public class BaseController : Controller
      {
          protected override void OnException(ExceptionContext filterContext)
          {
              ExceptionPolicy.HandleException(filterContext.Exception, "MyPolicy");
              base.OnException(filterContext);            
          }
      }
      

      【讨论】:

        【解决方案3】:

        艾尔玛

        Elmah 可能是您的绝佳选择。使用方便,安装nuget包后即可使用。

        使用 log4net 等自定义日志记录

        如果您想自己记录错误,我推荐这个示例应用程序:https://github.com/mholec/mvcexceptionhandler 其中解释了使用您最喜欢的日志工具(log4net、nlog 等)进行全局日志记录

        应用洞察

        另一种也许是最好的方法是使用Application Insights。您可以使用 NuGet 快速安装 Application Insights,您将全面了解您的应用程序错误、网站可用性,并且您可以获得有关用户的更多信息。这项服务是免费的。

        【讨论】:

          【解决方案4】:

          我推荐ELMAHhttp://code.google.com/p/elmah/

          通过使用 Nuget 进行设置,您可以非常快速地开始使用它。 http://nuget.codeplex.com/

          1. 设置 Nuget。
          2. 在vstudio中-> 查看 -> 其他窗口 -> 包 经理
          3. List-Package -filter elmah
          4. 安装包 elmah 和 一切就绪。

          您可以像 trace.axd 一样查看日志,前往http://mysite/elmah.axd 并像这样手动向 elmah 抛出错误:

          try { 
          }
          catch (Exception ex)
          {
             ErrorSignal.FromCurrentContext().Raise(ex);
          }
          

          希望有帮助, -fs

          【讨论】:

            猜你喜欢
            • 2014-03-05
            • 2013-02-13
            • 2015-03-03
            • 2011-03-05
            • 2010-10-24
            • 2012-02-10
            • 1970-01-01
            • 2021-03-31
            相关资源
            最近更新 更多