Записывать все исключения в приложении .NET с помощью log4net

Есть ли простой способ автоматически записать все необработанное исключение в моем приложении в файл журнала? Я использую log4net как мое решение для регистрации.

Мое приложение размещено как служба Windows.

Спасибо.

Ответ 1

Это зависит от типа используемого приложения. Вы всегда должны регистрировать событие AppDomain.UnhandledException при запуске приложения:

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

При использовании приложения ASP.NET вы можете подключиться к событию HttpApplication.Error, используя Global.asax для этого. При использовании приложения Windows Forms вы можете подключиться к событию Application.ThreadException.