Log unhandled exceptions very verbosely
This commit is contained in:
@@ -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)
|
||||||
|
Reference in New Issue
Block a user