From 996a244649d269db82f8789ea2c215baec51d9f1 Mon Sep 17 00:00:00 2001 From: serega404 Date: Thu, 19 Nov 2020 18:27:44 +0300 Subject: [PATCH] Added uncaught exception handler --- .../ru/windcorp/progressia/ProgressiaLauncher.java | 13 +++++++++++++ .../progressia/client/ProgressiaClientMain.java | 12 ------------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/ru/windcorp/progressia/ProgressiaLauncher.java b/src/main/java/ru/windcorp/progressia/ProgressiaLauncher.java index d42217b..f9dbaba 100644 --- a/src/main/java/ru/windcorp/progressia/ProgressiaLauncher.java +++ b/src/main/java/ru/windcorp/progressia/ProgressiaLauncher.java @@ -17,10 +17,23 @@ *******************************************************************************/ package ru.windcorp.progressia; +import ru.windcorp.progressia.common.util.crash.CrashReports; +import ru.windcorp.progressia.common.util.crash.analyzers.OutOfMemoryAnalyzer; +import ru.windcorp.progressia.common.util.crash.providers.OSContextProvider; + public class ProgressiaLauncher { public static void launch(String[] args, Proxy proxy) { + setupCrashReports(); proxy.initialize(); } + private static void setupCrashReports() { + CrashReports.registerProvider(new OSContextProvider()); + CrashReports.registerAnalyzer(new OutOfMemoryAnalyzer()); + Thread.setDefaultUncaughtExceptionHandler((Thread thread, Throwable t)-> { + CrashReports.report(t,"Uncaught exception in thread %s", thread.getName()); + }); + } + } diff --git a/src/main/java/ru/windcorp/progressia/client/ProgressiaClientMain.java b/src/main/java/ru/windcorp/progressia/client/ProgressiaClientMain.java index 0b755f0..0ab1bd0 100644 --- a/src/main/java/ru/windcorp/progressia/client/ProgressiaClientMain.java +++ b/src/main/java/ru/windcorp/progressia/client/ProgressiaClientMain.java @@ -20,9 +20,6 @@ package ru.windcorp.progressia.client; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import ru.windcorp.progressia.ProgressiaLauncher; -import ru.windcorp.progressia.common.util.crash.CrashReports; -import ru.windcorp.progressia.common.util.crash.analyzers.OutOfMemoryAnalyzer; -import ru.windcorp.progressia.common.util.crash.providers.OSContextProvider; public class ProgressiaClientMain { @@ -31,15 +28,6 @@ public class ProgressiaClientMain { public static void main(String[] args) { logger.info("App started!"); - CrashReports.registerProvider(new OSContextProvider()); - CrashReports.registerAnalyzer(new OutOfMemoryAnalyzer()); - try { - @SuppressWarnings("unused") - long[] ssdss = new long[1 << 30]; - } catch (Throwable t) { - CrashReports.report(t, "u %s stupid", "vry"); - } - ProgressiaLauncher.launch(args, new ClientProxy()); }