From 32cfd3ba692eeb40efa7c42043acd8f41727f9ab Mon Sep 17 00:00:00 2001 From: zaxar163 Date: Sat, 27 Apr 2019 18:58:57 +0300 Subject: [PATCH] =?UTF-8?q?[FEATURE]=20=D0=A2=D0=B5=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D1=8C=20=D0=BF=D1=80=D0=B8=D0=BA=D1=80=D1=83=D1=82=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20sentry=20=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=BE=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=B2=20=D0=B1=D0=B8=D0=B1=D0=BB=D0=B8=D0=BE=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=D1=83=20=D0=B2=20libraries=20=D0=B8=20=D0=B4=D0=BE=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=B0=D0=B2=203=20=D1=81=D1=82=D1=80=D0=BE=D1=87=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B2=20runtime.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/ru/gravit/utils/helper/LogHelper.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libLauncher/src/main/java/ru/gravit/utils/helper/LogHelper.java b/libLauncher/src/main/java/ru/gravit/utils/helper/LogHelper.java index 6ff72f84..90898237 100644 --- a/libLauncher/src/main/java/ru/gravit/utils/helper/LogHelper.java +++ b/libLauncher/src/main/java/ru/gravit/utils/helper/LogHelper.java @@ -15,6 +15,7 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.function.Consumer; import java.util.function.Supplier; public final class LogHelper { @@ -50,6 +51,7 @@ public enum OutputTypes { } private static final Set OUTPUTS = Collections.newSetFromMap(new ConcurrentHashMap<>(2)); + private static final Set> EXCEPTIONS_CALLBACKS = Collections.newSetFromMap(new ConcurrentHashMap<>(2)); private static final OutputEnity STD_OUTPUT; private LogHelper() { @@ -60,6 +62,11 @@ public static void addOutput(OutputEnity output) { OUTPUTS.add(Objects.requireNonNull(output, "output")); } + @LauncherAPI + public static void addExcCallback(Consumer output) { + EXCEPTIONS_CALLBACKS.add(Objects.requireNonNull(output, "output")); + } + @LauncherAPI public static void addOutput(Output output, OutputTypes type) { OUTPUTS.add(new OutputEnity(Objects.requireNonNull(output, "output"), type)); @@ -105,6 +112,7 @@ public static void dev(String format, Object... args) { @LauncherAPI public static void error(Throwable exc) { + EXCEPTIONS_CALLBACKS.forEach(e -> e.accept(exc)); error(isStacktraceEnabled() ? toString(exc) : exc.toString()); }