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

Avi*_* K. 10 .net log4net

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

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

谢谢.

Ste*_*ven 16

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

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

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