记录异常而不更改现有代码

时间:2010-05-26 05:06:40

标签: asp.net

我有一个应用程序,我想将异常记录到文件中,我不想更改任何代码。我只想要一个可以添加代码的组件,它将开始记录异常。我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

在ASP.NET中,您可以创建自定义IHttpModule实现,并在其中Init方法注册HttpApplication.Error的事件处理程序。触发错误事件时根据需要记录异常。

using System;
using System.Web;

namespace ConsoleApplication1
{
    public class ErrorLoggingModule : IHttpModule
    {
        public void Init(HttpApplication context)
        {
            context.Error += OnError;
        }

        private static void OnError(object sender, EventArgs e)
        {
            Exception ex = HttpContext.Current.Server.GetLastError();

            // log exception here...
        }

        public void Dispose()
        {           
        }
    }
}

答案 1 :(得分:1)

ELMAH(错误记录模块和处理程序)

  

是应用程序范围的错误记录   完全可插拔的设施。   它可以动态添加到   运行ASP.NET Web应用程序,或   甚至所有ASP.NET Web应用程序都在   机器,没有任何需要   重新编译或重新部署。

答案 2 :(得分:0)

ASP.NET Health Monitoring非常有用,你只需要在web.config中配置它。