diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 1918fa9f0c..0d48db9782 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -147,7 +147,7 @@ object Libraries { const val slf4jApi = "org.slf4j:slf4j-api:${Versions.slf4j}" const val slf4jNop = "org.slf4j:slf4j-nop:${Versions.slf4j}" const val slf4jSimple = "org.slf4j:slf4j-simple:${Versions.slf4j}" - const val sentry = "io.sentry:sentry:${Versions.sentry}" + const val sentry = "io.sentry:sentry-logback:${Versions.sentry}" const val semver = "com.github.zafarkhaja:java-semver:${Versions.semver}" const val substance = "org.pushing-pixels:radiance-substance:${Versions.radiance}" const val trident = "org.pushing-pixels:radiance-trident:${Versions.radiance}" diff --git a/runelite-client/runelite-client.gradle.kts b/runelite-client/runelite-client.gradle.kts index e5c70903f3..1487c30591 100644 --- a/runelite-client/runelite-client.gradle.kts +++ b/runelite-client/runelite-client.gradle.kts @@ -135,6 +135,7 @@ tasks { from("src/main/resources") { include("open.osrs.properties") + include("sentry.properties") } into("${buildDir}/resources/main") diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index 71fc4790ab..48e3c3446a 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -62,6 +62,7 @@ import net.runelite.client.callback.Hooks; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.CommandManager; import net.runelite.client.config.ConfigManager; +import net.runelite.client.config.OpenOSRSConfig; import net.runelite.client.discord.DiscordService; import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.ExternalPluginsLoaded; @@ -122,6 +123,7 @@ public class RuneLite @Inject private WorldService worldService; + @Inject private PluginManager pluginManager; @@ -201,6 +203,9 @@ public class RuneLite @Nullable private Client client; + @Inject + private OpenOSRSConfig openOSRSConfig; + @Inject private Provider modelOutlineRenderer; @@ -305,7 +310,7 @@ public class RuneLite System.setProperty("cli.world", String.valueOf(world)); } - SentryClient client = Sentry.init("https://fa31d674e44247fa93966c69a903770f@sentry.io/1811856"); + SentryClient client = Sentry.init(); client.setRelease(RuneLiteProperties.getPlusVersion()); final ClientLoader clientLoader = new ClientLoader(options.valueOf(updateMode)); @@ -366,6 +371,12 @@ public class RuneLite injector.injectMembers(client); } + if (RuneLiteProperties.getLauncherVersion() == null || !openOSRSConfig.shareLogs()) + { + final Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); + logger.detachAppender("Sentry"); + } + // Load user configuration RuneLiteSplashScreen.stage(.57, "Loading user config"); configManager.load(); diff --git a/runelite-client/src/main/java/net/runelite/client/eventbus/EventBus.java b/runelite-client/src/main/java/net/runelite/client/eventbus/EventBus.java index a17db204fe..123b1b2b73 100644 --- a/runelite-client/src/main/java/net/runelite/client/eventbus/EventBus.java +++ b/runelite-client/src/main/java/net/runelite/client/eventbus/EventBus.java @@ -8,7 +8,6 @@ import io.reactivex.rxjava3.core.Scheduler; import io.reactivex.rxjava3.disposables.CompositeDisposable; import io.reactivex.rxjava3.disposables.Disposable; import io.reactivex.rxjava3.functions.Consumer; -import io.sentry.Sentry; import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -17,7 +16,6 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.events.Event; -import net.runelite.client.RuneLiteProperties; import net.runelite.client.config.OpenOSRSConfig; @Slf4j @@ -91,14 +89,7 @@ public class EventBus implements EventBusInterface .compose(applyScheduler(subscribe, true)) .compose(applyScheduler(observe, false)) .subscribe(action, error -> - { - log.error("Exception in eventbus", error); - - if (RuneLiteProperties.getLauncherVersion() != null && openOSRSConfig.shareLogs()) - { - Sentry.capture(error); - } - }); + log.error("Exception in eventbus", error)); getCompositeDisposable(lifecycle).add(disposable); subscriptionList.put(lifecycle, eventClass); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/openosrs/OpenOSRSPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/openosrs/OpenOSRSPlugin.java index e7d1dc858a..9c1d7dd621 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/openosrs/OpenOSRSPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/openosrs/OpenOSRSPlugin.java @@ -26,6 +26,7 @@ */ package net.runelite.client.plugins.openosrs; +import ch.qos.logback.classic.Logger; import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import javax.inject.Inject; @@ -50,6 +51,7 @@ import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.NavigationButton; import net.runelite.client.util.HotkeyListener; import net.runelite.client.util.ImageUtil; +import org.slf4j.LoggerFactory; @PluginDescriptor( loadWhenOutdated = true, // prevent users from disabling @@ -146,6 +148,12 @@ public class OpenOSRSPlugin extends Plugin expectInput = false; keyManager.unregisterKeyListener(keyListener); } + + if (event.getKey().equals("shareLogs") && !config.shareLogs()) + { + final Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); + logger.detachAppender("Sentry"); + } } @Subscribe diff --git a/runelite-client/src/main/resources/logback.xml b/runelite-client/src/main/resources/logback.xml index f283650cac..2096038dec 100644 --- a/runelite-client/src/main/resources/logback.xml +++ b/runelite-client/src/main/resources/logback.xml @@ -51,9 +51,21 @@ + + + + ERROR + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + diff --git a/runelite-client/src/main/resources/sentry.properties b/runelite-client/src/main/resources/sentry.properties index cf3728b9c7..5320ed4896 100644 --- a/runelite-client/src/main/resources/sentry.properties +++ b/runelite-client/src/main/resources/sentry.properties @@ -1 +1,3 @@ -stacktrace.app.packages=net.runelite.client \ No newline at end of file +dsn=https://fa31d674e44247fa93966c69a903770f@sentry.io/1811856 +release=@open.osrs.version@ +stacktrace.app.packages=stacktrace.app.packages=net.runelite.client \ No newline at end of file