private void CloseLog(Logfiles logfile) { if (!Logging.IsLogDisposed(logfile)) { Logging.DisposeLogging(logfile); } }
private void CloseApplicationLog(bool showCloseMessage) { if (!Logging.IsLogDisposed(Logfiles.Application)) { if (showCloseMessage && Logging.IsLogOpen(Logfiles.Application)) { Logging.Info("Application closing"); Logging.WriteHeader(Logfiles.Application); } Logging.DisposeLogging(Logfiles.Application); } }
//https://stackoverflow.com/questions/793100/globally-catch-exceptions-in-a-wpf-application private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) { if (!exceptionShown) { exceptionShown = true; if (!Logging.IsLogDisposed(Logfiles.Application) && Logging.IsLogOpen(Logfiles.Application)) { Logging.WriteToLog(e.Exception.ToString(), Logfiles.Application, LogLevel.ApplicationHalt); } exceptionCaptureDisplay.ExceptionText = e.Exception.ToString(); exceptionCaptureDisplay.ShowDialog(); CloseApplicationLog(true); } }