Skip to content

Commit 43e1953

Browse files
authored
feat: add label fullStacktrace (#40)
* feat: add label fullStacktrace * feat: fix review changes
1 parent 5e5c129 commit 43e1953

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

google-cloud-contrib/google-cloud-logging-logback/src/main/java/com/google/cloud/logging/logback/LoggingAppender.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ public class LoggingAppender extends UnsynchronizedAppenderBase<ILoggingEvent> {
7272
private static final String LEVEL_NAME_KEY = "levelName";
7373
private static final String LEVEL_VALUE_KEY = "levelValue";
7474
private static final String LOGGER_NAME_KEY = "loggerName";
75+
private static final String STACKTRACE = "fullStacktrace";
7576

7677
private volatile Logging logging;
7778
private LoggingOptions loggingOptions;
@@ -269,14 +270,15 @@ private LogEntry logEntryFor(ILoggingEvent e) {
269270

270271
Level level = e.getLevel();
271272
LogEntry.Builder builder =
272-
LogEntry.newBuilder(Payload.StringPayload.of(payload.toString().trim()))
273+
LogEntry.newBuilder(Payload.StringPayload.of(e.getMessage().trim()))
273274
.setTimestamp(e.getTimeStamp())
274275
.setSeverity(severityFor(level));
275276

276277
builder
277278
.addLabel(LEVEL_NAME_KEY, level.toString())
278279
.addLabel(LEVEL_VALUE_KEY, String.valueOf(level.toInt()))
279280
.addLabel(LOGGER_NAME_KEY, e.getLoggerName());
281+
.addLabel(STACKTRACE, payload.toString().trim());
280282

281283
for (Map.Entry<String, String> entry : e.getMDCPropertyMap().entrySet()) {
282284
if (null != entry.getKey() && null != entry.getValue()) {

google-cloud-contrib/google-cloud-logging-logback/src/test/java/com/google/cloud/logging/logback/LoggingAppenderTest.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ public void testFlushLevelConfigUpdatesLoggingFlushSeverity() {
8787
.put("levelName", "WARN")
8888
.put("levelValue", String.valueOf(30000L))
8989
.put("loggerName", this.getClass().getName())
90+
.put("fullStacktrace", "this is a test".trim())
9091
.build())
9192
.build();
9293
logging.setFlushSeverity(Severity.WARNING);
@@ -112,9 +113,10 @@ public void testFilterLogsOnlyLogsAtOrAboveLogLevel() {
112113
.setSeverity(Severity.ERROR)
113114
.setLabels(
114115
new ImmutableMap.Builder<String, String>()
115-
.put("levelName", "ERROR")
116-
.put("levelValue", String.valueOf(40000L))
117-
.put("loggerName", this.getClass().getName())
116+
.put("levelName","ERROR")
117+
.put("levelValue",String.valueOf(40000L))
118+
.put("loggerName",this.getClass().getName())
119+
.put("fullStacktrace","this is a test".trim())
118120
.build())
119121
.build();
120122
logging.setFlushSeverity(Severity.ERROR);
@@ -150,6 +152,7 @@ public void testEnhancersAddCorrectLabelsToLogEntries() {
150152
.put("levelName", "WARN")
151153
.put("levelValue", String.valueOf(30000L))
152154
.put("loggerName", this.getClass().getName())
155+
.put("fullStacktrace", "this is a test".trim())
153156
.put("test-label-1", "test-value-1")
154157
.put("test-label-2", "test-value-2")
155158
.build())
@@ -199,6 +202,7 @@ public void testMdcValuesAreConvertedToLabels() {
199202
.put("levelName", "INFO")
200203
.put("levelValue", String.valueOf(20000L))
201204
.put("loggerName", this.getClass().getName())
205+
.put("fullStacktrace", "this is a test".trim())
202206
.put("mdc1", "value1")
203207
.put("mdc2", "value2")
204208
.build())

0 commit comments

Comments
 (0)