private static void Main(string[] args) { try { InitDebugLogging(); InitStage1(); InitCheckDocker(); InitStage2(); InitConnectToDB(); InitWebserver(); InitOpenTopoDataService(); InitStaticMapService(); UpdateTeslalogger.StopComfortingMessagesThread(); MQTTClient.StartMQTTClient(); InitTLStats(); UpdateDbInBackground(); WebHelper.getTLSVersion(); Logfile.Log("Init finished, now enter main loop"); GetAllCars(); InitNearbySuCService(); } catch (Exception ex) { Logfile.Log(ex.Message); Logfile.ExceptionWriter(ex, "main loop"); Logfile.Log("Teslalogger Stopped!"); Tools.ExternalLog("Teslalogger Stopped! " + ex.ToString()); } finally { if (!UpdateTeslalogger.DownloadUpdateAndInstallStarted) { try { Logfile.Log("Startup doesn't sucessfully run DownloadUpdateAndInstall() - retry now!"); UpdateTeslalogger.DownloadUpdateAndInstall(); } catch (Exception ex) { Logfile.Log(ex.Message); Logfile.ExceptionWriter(ex, "Emergency DownloadUpdateAndInstall()"); } } } }