Skip to content
This repository was archived by the owner on Jan 21, 2025. It is now read-only.

Commit d3623db

Browse files
authored
Merge pull request #44 from toweroy/update-sentry-dep
Update SentryAppender to use sentry-logback dependency
2 parents 250b9a7 + 17c06ee commit d3623db

File tree

3 files changed

+36
-5
lines changed

3 files changed

+36
-5
lines changed

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,9 @@
108108
<version>0.6</version>
109109
</dependency>
110110
<dependency>
111-
<groupId>com.getsentry.raven</groupId>
112-
<artifactId>raven-logback</artifactId>
113-
<version>7.8.2</version>
111+
<groupId>io.sentry</groupId>
112+
<artifactId>sentry-logback</artifactId>
113+
<version>6.11.0</version>
114114
</dependency>
115115

116116
<!--test scope-->

src/main/java/com/spotify/logging/LoggingConfigurator.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,10 @@
5050
import ch.qos.logback.core.CoreConstants;
5151
import ch.qos.logback.core.joran.spi.JoranException;
5252
import ch.qos.logback.core.util.StatusPrinter;
53-
import com.getsentry.raven.logback.SentryAppender;
5453
import com.spotify.logging.logback.CustomLogstashEncoder;
5554
import com.spotify.logging.logback.MillisecondPrecisionSyslogAppender;
55+
import io.sentry.SentryOptions;
56+
import io.sentry.logback.SentryAppender;
5657
import java.io.File;
5758
import java.lang.management.ManagementFactory;
5859
import java.nio.charset.StandardCharsets;
@@ -341,7 +342,9 @@ public static SentryAppender addSentryAppender(final String dsn, Level logLevelT
341342
final LoggerContext context = rootLogger.getLoggerContext();
342343

343344
SentryAppender appender = new SentryAppender();
344-
appender.setDsn(dsn);
345+
SentryOptions sentryOptions = new SentryOptions();
346+
sentryOptions.setDsn(dsn);
347+
appender.setOptions(sentryOptions);
345348

346349
appender.setContext(context);
347350
ThresholdFilter levelFilter = new ThresholdFilter();

src/test/java/com/spotify/logging/LoggingConfiguratorTest.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636

3737
package com.spotify.logging;
3838

39+
import static com.spotify.logging.LoggingConfigurator.addSentryAppender;
3940
import static com.spotify.logging.LoggingConfigurator.getSyslogAppender;
4041
import static org.junit.Assert.assertEquals;
4142
import static org.junit.Assert.assertNotNull;
@@ -47,8 +48,10 @@
4748
import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
4849
import ch.qos.logback.classic.net.SyslogAppender;
4950
import ch.qos.logback.core.ConsoleAppender;
51+
import ch.qos.logback.core.status.Status;
5052
import com.google.common.collect.FluentIterable;
5153
import com.spotify.logging.logback.CustomLogstashEncoder;
54+
import io.sentry.logback.SentryAppender;
5255
import net.logstash.logback.composite.loggingevent.ArgumentsJsonProvider;
5356
import org.junit.Rule;
5457
import org.junit.Test;
@@ -107,6 +110,31 @@ public void testGetSyslogAppenderRespectsNewLineReplacement() {
107110
appender.getSuffixPattern());
108111
}
109112

113+
@Test
114+
public void testGetSentryAppenderNoErrorsWithDsnOption() {
115+
SentryAppender sentryAppender =
116+
addSentryAppender(
117+
"https://[email protected]/0", LoggingConfigurator.Level.ERROR);
118+
119+
assertEquals(
120+
0,
121+
sentryAppender.getContext().getStatusManager().getCopyOfStatusList().stream()
122+
.filter(
123+
status -> {
124+
if (status.getLevel() == Status.WARN
125+
&& status
126+
.getMessage()
127+
.contains(
128+
"Failed to init Sentry during appender initialization: DSN is "
129+
+ "required. Use empty string to disable SDK.")) {
130+
return true;
131+
}
132+
133+
return false;
134+
})
135+
.count());
136+
}
137+
110138
private String getLoggingContextHostnameProperty() {
111139
final Logger accessPointLogger = (Logger) LoggerFactory.getLogger("logger");
112140
final LoggerContext loggerContext = accessPointLogger.getLoggerContext();

0 commit comments

Comments
 (0)