Skip to content

Commit 6b4dfa9

Browse files
dietervdw-spotifysduskis
authored andcommitted
---
yaml --- r: 23981 b: refs/heads/autosynth-kms c: e9ed7b0 h: refs/heads/master i: 23979: ec0e857
1 parent c503407 commit 6b4dfa9

3 files changed

Lines changed: 36 additions & 1 deletion

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ refs/heads/autosynth-dialogflow: cb1ceeb3ec1a132d3096fc88d44b930a52130e18
132132
refs/heads/autosynth-errorreporting: 3f176c20b55dfaaa8fc32f28d82b31784b93e636
133133
refs/heads/autosynth-firestore: d48d82caace227856b6cd85ac30ee474528733ea
134134
refs/heads/autosynth-iot: 4025d1804241e74d54950a324dc4f667aeaad4b3
135-
refs/heads/autosynth-kms: 6268cd1224257a4b1c9e9113168f1873361e8ac3
135+
refs/heads/autosynth-kms: e9ed7b0fba36cbe562cba08500bb4ae4a451040b
136136
refs/heads/autosynth-language: c3d990dd34d81e7e935041e7147fb9dd27f8a557
137137
refs/heads/autosynth-os-login: 092fdbed6d5317948f92b708e9f50dedd89fc666
138138
refs/heads/autosynth-redis: 9e1fe503973c7b4a9ba26afb1fcddc2a57ba795a

branches/autosynth-kms/google-cloud-clients/google-cloud-contrib/google-cloud-logging-logback/src/main/java/com/google/cloud/logging/logback/LoggingAppender.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import java.util.Collections;
3737
import java.util.HashSet;
3838
import java.util.List;
39+
import java.util.Map;
3940
import java.util.Set;
4041

4142
/**
@@ -232,6 +233,10 @@ private LogEntry logEntryFor(ILoggingEvent e) {
232233
.addLabel(LEVEL_NAME_KEY, level.toString())
233234
.addLabel(LEVEL_VALUE_KEY, String.valueOf(level.toInt()));
234235

236+
for (Map.Entry<String, String> entry : e.getMDCPropertyMap().entrySet()) {
237+
builder.addLabel(entry.getKey(), entry.getValue());
238+
}
239+
235240
if (loggingEnhancers != null) {
236241
for (LoggingEnhancer enhancer : loggingEnhancers) {
237242
enhancer.enhanceLogEntry(builder);

branches/autosynth-kms/google-cloud-clients/google-cloud-contrib/google-cloud-logging-logback/src/test/java/com/google/cloud/logging/logback/LoggingAppenderTest.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,36 @@ public void testDefaultWriteOptionsHasExpectedDefaults() {
181181
// assertThat(resourceArg.getValue()).isEqualTo(defaultWriteOptions[1]);
182182
}
183183

184+
@Test
185+
public void testMdcValuesAreConvertedToLabels() {
186+
LogEntry logEntry =
187+
LogEntry.newBuilder(StringPayload.of("this is a test"))
188+
.setTimestamp(100000L)
189+
.setSeverity(Severity.INFO)
190+
.setLabels(
191+
new ImmutableMap.Builder<String, String>()
192+
.put("levelName", "INFO")
193+
.put("levelValue", String.valueOf(20000L))
194+
.put("mdc1", "value1")
195+
.put("mdc2", "value2")
196+
.build())
197+
.build();
198+
logging.setFlushSeverity(Severity.ERROR);
199+
Capture<Iterable<LogEntry>> capturedArgument = Capture.newInstance();
200+
logging.write(capture(capturedArgument), (WriteOption) anyObject(), (WriteOption) anyObject());
201+
expectLastCall().once();
202+
replay(logging);
203+
Timestamp timestamp = Timestamp.ofTimeSecondsAndNanos(100000, 0);
204+
LoggingEvent loggingEvent = createLoggingEvent(Level.INFO, timestamp.getSeconds());
205+
loggingEvent.setMDCPropertyMap(ImmutableMap.of("mdc1", "value1", "mdc2", "value2"));
206+
loggingAppender.start();
207+
// info event does not get logged
208+
loggingAppender.doAppend(loggingEvent);
209+
verify(logging);
210+
assertThat(capturedArgument.getValue().iterator().hasNext()).isTrue();
211+
assertThat(capturedArgument.getValue().iterator().next()).isEqualTo(logEntry);
212+
}
213+
184214
private LoggingEvent createLoggingEvent(Level level, long timestamp) {
185215
LoggingEvent loggingEvent = new LoggingEvent();
186216
loggingEvent.setMessage("this is a test");

0 commit comments

Comments
 (0)