我從Main()
直接登錄時創建了一個控制檯應用程序,可以成功記錄消息。我希望做的是設置一個處理程序來處理所有未處理的異常:NLog - 綁定到UnhandledExceptionEventHandler時遇到困難日誌記錄
class Program
{
private static Logger logger = LogManager.GetCurrentClassLogger();
static void Main(string[] args)
{
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
throw new ApplicationException("Throwing an unhandled exception!"); //This line keeps getting hit
Console.ReadLine();
}
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
var exc = (Exception)e.ExceptionObject;
logger.ErrorException("Another exception occured!", exc);
}
}
此應用程序從不卸載,我試圖找出原因。它會拋出我的ApplicationException
,然後執行CurrentDomain_UnhandledException()
,但隨後調試器返回到行:throw new ApplicationException()
。再次執行CurrentDomain_UnhandledException()
,然後我回到將異常投入無限遠和更遠的行。
即使調用了logger.ErrorException()
,也沒有任何內容寫入數據庫。