有没有简单的方法可以将我的应用程序中的所有未处理异常自动写入日志文件? 我使用log4net作为我的日志记录解决方案。
我的应用程序作为Windows服务托管。
感谢。
答案 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
事件。