Skip to content

Commit df8944d

Browse files
committed
Allow extended classes to access the LogEntry building, so that additional information may be encoded in each log entry (eg traceid). Use addLabel rather than setLabels as it avoids the creation and copy of a HashMap per log entry. Signed-off-by: Greg Wilkins <[email protected]>
1 parent 81278dc commit df8944d

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

google-cloud-logging/src/main/java/com/google/cloud/logging/LoggingHandler.java

+10-8
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ public synchronized void publish(LogRecord record) {
293293
}
294294
}
295295

296-
private LogEntry entryFor(LogRecord record) {
296+
protected LogEntry entryFor(LogRecord record) {
297297
String payload;
298298
try {
299299
payload = getFormatter().format(record);
@@ -303,15 +303,17 @@ private LogEntry entryFor(LogRecord record) {
303303
return null;
304304
}
305305
Level level = record.getLevel();
306-
Map<String, String> labels = ImmutableMap.of(
307-
"levelName", level.getName(),
308-
"levelValue", String.valueOf(level.intValue()));
309-
return LogEntry.newBuilder(Payload.StringPayload.of(payload))
310-
.setLabels(labels)
311-
.setSeverity(severityFor(level))
312-
.build();
306+
LogEntry.Builder builder = LogEntry.newBuilder(Payload.StringPayload.of(payload))
307+
.addLabel("levelName", level.getName())
308+
.addLabel("levelValue", String.valueOf(level.intValue()))
309+
.setSeverity(severityFor(level));
310+
return buildEntryFor(record, builder);
313311
}
314312

313+
protected LogEntry buildEntryFor(LogRecord record, LogEntry.Builder builder) {
314+
return builder.build();
315+
}
316+
315317
private static Severity severityFor(Level level) {
316318
if (level instanceof LoggingLevel) {
317319
return ((LoggingLevel) level).getSeverity();

0 commit comments

Comments
 (0)