public static void Main(string[] args) { ILogger logger = new NLogLogger("logs.txt"); AppDomain.CurrentDomain.UnhandledException += (sender, eventArgs) => { if (eventArgs.ExceptionObject is Exception e) { logger.Error(FailureString, e); } else { logger.Error(FailureString + eventArgs.ExceptionObject?.ToString()); } }; try { IRunnerApp runner = new RunnerApp(logger); runner.Run(args); return; } catch (AggregateException e) { logger.Error(FailureString, e.InnerException); } catch (Exception e) { logger.Error(FailureString, e); } Console.WriteLine("Press any key to exit."); Console.ReadKey(); }
public static void Main(string[] args) { ILogger logger = new NLogLogger("logs.txt"); AppDomain.CurrentDomain.UnhandledException += (sender, eventArgs) => { if (eventArgs.ExceptionObject is Exception e) { logger.Error(FailureString, e); } else { logger.Error(FailureString + eventArgs.ExceptionObject?.ToString()); } }; try { IRunnerApp runner = new RunnerApp(logger); runner.Run(args); return; } catch (AggregateException e) { logger.Error(FailureString, e.InnerException); } catch (Exception e) { logger.Error(FailureString, e); } var detached = Environment.GetEnvironmentVariable("NETHERMIND_DETACHED_MODE")?.ToLowerInvariant() == "true"; if (detached) { Console.WriteLine("Press RETURN to exit."); Console.ReadLine(); } else { Console.WriteLine("Press any key to exit."); Console.ReadKey(); } }
public static void Main(string[] args) { ILogger logger = new NLogLogger("logs.txt"); AppDomain.CurrentDomain.UnhandledException += (sender, eventArgs) => { logger.Error("Unhandled exception " + eventArgs.ExceptionObject?.ToString()); Console.ReadLine(); // TODO: remove later }; try { IRunnerApp runner = new RunnerApp(logger); runner.Run(args); } catch (Exception e) { logger.Error("Runner exception", e); Console.ReadLine(); // TODO: remove later } }
public static async Task Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += (sender, eventArgs) => { ILogger logger = new NLogLogger("logs.txt"); if (eventArgs.ExceptionObject is Exception e) { logger.Error(FailureString, e); } else { logger.Error(FailureString + eventArgs.ExceptionObject?.ToString()); } }; try { IRunnerApp runner = new RunnerApp(); await runner.Run(args); } catch (AggregateException e) { ILogger logger = new NLogLogger("logs.txt"); logger.Error(FailureString, e.InnerException); } catch (Exception e) { ILogger logger = new NLogLogger("logs.txt"); logger.Error(FailureString, e); } finally { NLogLogger.Shutdown(); } Console.WriteLine("Press RETURN to exit."); Console.ReadLine(); }