Log unhandled exceptions very verbosely

This commit is contained in:
Westin Miller
2017-10-26 12:41:03 -07:00
parent 4ed262a330
commit 4d0dcede41

View File

@@ -162,14 +162,23 @@ quit";
} }
} }
private void LogException(Exception ex)
{
if (ex.InnerException != null)
{
LogException(ex.InnerException);
}
Log.Fatal(ex);
if (ex is ReflectionTypeLoadException exti)
foreach (Exception exl in exti.LoaderExceptions)
LogException(exl);
}
private void HandleException(object sender, UnhandledExceptionEventArgs e) private void HandleException(object sender, UnhandledExceptionEventArgs e)
{ {
var ex = (Exception)e.ExceptionObject; var ex = (Exception)e.ExceptionObject;
Log.Fatal(ex); LogException(ex);
if (ex is ReflectionTypeLoadException exti)
foreach (Exception exl in exti.LoaderExceptions)
Log.Fatal($"Sub exception: {exl}");
Console.WriteLine("Exiting in 5 seconds."); Console.WriteLine("Exiting in 5 seconds.");
Thread.Sleep(5000); Thread.Sleep(5000);
if (_config.RestartOnCrash) if (_config.RestartOnCrash)