From 92669bacc0332c47b40ff099f94111cb5100a608 Mon Sep 17 00:00:00 2001 From: nafg Date: Wed, 30 Jan 2019 05:20:11 -0500 Subject: [PATCH] CloudJsonLoggingAppender: fix illegal characters in log names --- .../cloudlogging/appender/CloudJsonLoggingAppender.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/appender/src/main/scala/io/github/nafg/cloudlogging/appender/CloudJsonLoggingAppender.scala b/appender/src/main/scala/io/github/nafg/cloudlogging/appender/CloudJsonLoggingAppender.scala index 1c039a9..902f3e8 100644 --- a/appender/src/main/scala/io/github/nafg/cloudlogging/appender/CloudJsonLoggingAppender.scala +++ b/appender/src/main/scala/io/github/nafg/cloudlogging/appender/CloudJsonLoggingAppender.scala @@ -78,6 +78,9 @@ object CloudJsonLoggingAppender { m.getName } + val legalNameChars = ('a' to 'z').toSet ++ ('A' to 'Z') ++ ('0' to '9') ++ Set('/', '_', '-', '.') + def legalizeNameChar(c: Char) = if (legalNameChars(c)) c else '-' + def logEntryFor(e: ILoggingEvent) = { val level = e.getLevel @@ -133,7 +136,7 @@ object CloudJsonLoggingAppender { LogEntry .newBuilder(Payload.JsonPayload.of(payload.asJava)) - .setLogName(e.getLoggerName) + .setLogName(e.getLoggerName.map(legalizeNameChar)) .setTimestamp(e.getTimeStamp) .setSeverity(severityFor(level)) .setLabels(labels.asJava)