使用log4net记录.NET应用程序中的所有异常

时间:2010-09-20 07:09:48

标签: .net log4net

有没有简单的方法可以将我的应用程序中的所有未处理异常自动写入日志文件? 我使用log4net作为我的日志记录解决方案。

我的应用程序作为Windows服务托管。

感谢。

1 个答案:

答案 0 :(得分:16)

这取决于您运行的应用程序类型。您应该始终在应用程序启动期间注册AppDomain.UnhandledException event

AppDomain.CurrentDomain.UnhandledException += (s, e) =>
{
    var exception = (Exception)e.ExceptionObject;
    // Log to log4net.
};

使用ASP.NET应用程序时,可以使用Global.asax挂钩HttpApplication.Error事件来执行此操作。使用Windows窗体应用程序时,您可以挂钩Application.ThreadException事件。