sentry: Fix logging

This commit is contained in:
Owain van Brakel
2020-03-13 12:15:07 +01:00
parent b6b1ae3659
commit 6987d28538
7 changed files with 38 additions and 13 deletions

View File

@@ -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}"

View File

@@ -135,6 +135,7 @@ tasks {
from("src/main/resources") {
include("open.osrs.properties")
include("sentry.properties")
}
into("${buildDir}/resources/main")

View File

@@ -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> 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();

View File

@@ -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);

View File

@@ -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

View File

@@ -51,9 +51,21 @@
</encoder>
</appender>
<!-- Configure the Sentry appender, overriding the logging threshold to the WARN level -->
<appender name="Sentry" class="io.sentry.logback.SentryAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<!-- Optionally add an encoder -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE"/>
<appender-ref ref="Sentry" />
</root>
<logger name="org.pf4j.AbstractPluginManager" level="OFF"/>

View File

@@ -1 +1,3 @@
stacktrace.app.packages=net.runelite.client
dsn=https://fa31d674e44247fa93966c69a903770f@sentry.io/1811856
release=@open.osrs.version@
stacktrace.app.packages=stacktrace.app.packages=net.runelite.client