Skip to content

Commit 490bf2b

Browse files
Merge pull request #194 from ractive/additional-config-options-for-rollbar-appender
Allow configuring more options via logback xml
2 parents cd00183 + 00558f1 commit 490bf2b

File tree

2 files changed

+50
-4
lines changed

2 files changed

+50
-4
lines changed

examples/rollbar-logback/src/main/resources/logback.xml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@
99

1010
<appender name="ROLLBAR" class="com.rollbar.logback.RollbarAppender">
1111
<accessToken>[ACCESS_TOKEN]</accessToken>
12+
<!-- <environment>prod</environment> -->
13+
<!-- <language>kotlin</language> -->
14+
<!-- <staticContext>some context info</staticContext> -->
15+
<!-- <codeVersion>42</codeVersion> -->
16+
<!-- <enabled>true</enabled> -->
17+
<!-- <framework>spring-boot</framework> -->
18+
<!-- <platform>OpenJDK 13</platform> -->
1219
</appender>
1320

1421
<logger name="com.example.rollbar.logback" level="debug" additivity="false">
@@ -20,4 +27,4 @@
2027
</root>
2128

2229
<shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
23-
</configuration>
30+
</configuration>

rollbar-logback/src/main/java/com/rollbar/logback/RollbarAppender.java

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.rollbar.notifier.config.ConfigBuilder;
1313
import com.rollbar.notifier.config.ConfigProvider;
1414
import com.rollbar.notifier.config.ConfigProviderHelper;
15+
import com.rollbar.notifier.provider.Provider;
1516
import com.rollbar.notifier.provider.server.ServerProvider;
1617
import com.rollbar.notifier.wrapper.RollbarThrowableWrapper;
1718
import com.rollbar.notifier.wrapper.ThrowableWrapper;
@@ -38,13 +39,21 @@ public class RollbarAppender extends AppenderBase<ILoggingEvent> {
3839

3940
private String accessToken;
4041

42+
private String codeVersion;
43+
4144
private String endpoint;
4245

46+
private boolean enabled = true;
47+
4348
private String environment;
4449

50+
private String framework;
51+
4552
private String language;
46-
47-
private boolean enabled;
53+
54+
private String platform;
55+
56+
private String staticContext;
4857

4958
private String configProviderClassName;
5059

@@ -73,7 +82,17 @@ public void start() {
7382
.endpoint(this.endpoint)
7483
.server(new ServerProvider())
7584
.language(this.language)
76-
.enabled(this.enabled);
85+
.codeVersion(this.codeVersion)
86+
.context(new Provider<String>() {
87+
@Override
88+
public String provide() {
89+
return RollbarAppender.this.staticContext;
90+
}
91+
})
92+
.enabled(this.enabled)
93+
.framework(this.framework)
94+
.platform(this.platform)
95+
;
7796

7897
if (configProvider != null) {
7998
config = configProvider.provide(configBuilder);
@@ -121,6 +140,14 @@ public void setAccessToken(String accessToken) {
121140
this.accessToken = accessToken;
122141
}
123142

143+
public void setCodeVersion(String codeVersion) {
144+
this.codeVersion = codeVersion;
145+
}
146+
147+
public void setEnabled(boolean enabled) {
148+
this.enabled = enabled;
149+
}
150+
124151
public void setEndpoint(String endpoint) {
125152
this.endpoint = endpoint;
126153
}
@@ -129,10 +156,22 @@ public void setEnvironment(String environment) {
129156
this.environment = environment;
130157
}
131158

159+
public void setFramework(String framework) {
160+
this.framework = framework;
161+
}
162+
132163
public void setLanguage(String language) {
133164
this.language = language;
134165
}
135166

167+
public void setPlatform(String platform) {
168+
this.platform = platform;
169+
}
170+
171+
public void setStaticContext(String staticContext) {
172+
this.staticContext = staticContext;
173+
}
174+
136175
public void isEnabled(boolean enabled) {
137176
this.enabled = enabled;
138177
}

0 commit comments

Comments
 (0)