From 91dfecf714ff6d45616671a72620b5dc90b41f62 Mon Sep 17 00:00:00 2001 From: Vedran Mandic Date: Sat, 26 Mar 2022 10:43:22 +0100 Subject: [PATCH 1/2] 49 add support for dash symbol in property/key name --- src/Seq.Client.Log4Net/Client/Log4Net/LoggingEventFormatter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Seq.Client.Log4Net/Client/Log4Net/LoggingEventFormatter.cs b/src/Seq.Client.Log4Net/Client/Log4Net/LoggingEventFormatter.cs index 9b140b1..ff4d553 100644 --- a/src/Seq.Client.Log4Net/Client/Log4Net/LoggingEventFormatter.cs +++ b/src/Seq.Client.Log4Net/Client/Log4Net/LoggingEventFormatter.cs @@ -99,7 +99,7 @@ static void ToJson(LoggingEvent loggingEvent, StringWriter payload, IEnumerable< static string SanitizeKey(string key) { - return new string(key.Replace(":", "_").Where(c => c == '_' || char.IsLetterOrDigit(c)).ToArray()); + return new string(key.Replace(":", "_").Where(c => c == '_' || c == '-' || char.IsLetterOrDigit(c)).ToArray()); } From 460a5baf7f4522023b9f0d9b62a2549bd9e5973f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vedran=20Mandi=C4=87?= Date: Mon, 28 Mar 2022 18:54:55 +0200 Subject: [PATCH 2/2] #49 remove key sanetization per request on PR --- .../Client/Log4Net/LoggingEventFormatter.cs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/Seq.Client.Log4Net/Client/Log4Net/LoggingEventFormatter.cs b/src/Seq.Client.Log4Net/Client/Log4Net/LoggingEventFormatter.cs index ff4d553..252664b 100644 --- a/src/Seq.Client.Log4Net/Client/Log4Net/LoggingEventFormatter.cs +++ b/src/Seq.Client.Log4Net/Client/Log4Net/LoggingEventFormatter.cs @@ -83,26 +83,20 @@ static void ToJson(LoggingEvent loggingEvent, StringWriter payload, IEnumerable< WriteJsonProperty(property.ParameterName, stringValue, ref delim, payload); } - WriteJsonProperty(SanitizeKey("log4net:Logger"), loggingEvent.LoggerName, ref delim, payload); + WriteJsonProperty("log4net:Logger", loggingEvent.LoggerName, ref delim, payload); foreach (DictionaryEntry property in loggingEvent.GetProperties()) { - var sanitizedKey = SanitizeKey(property.Key.ToString()); - if (seenKeys.Contains(sanitizedKey)) + var key = property.Key.ToString(); + if (seenKeys.Contains(key)) continue; - seenKeys.Add(sanitizedKey); - WriteJsonProperty(sanitizedKey, property.Value, ref delim, payload); + seenKeys.Add(key); + WriteJsonProperty(key, property.Value, ref delim, payload); } payload.Write("}"); } - static string SanitizeKey(string key) - { - return new string(key.Replace(":", "_").Where(c => c == '_' || c == '-' || char.IsLetterOrDigit(c)).ToArray()); - } - - static void WriteJsonProperty(string name, object value, ref string precedingDelimiter, TextWriter output) { output.Write(precedingDelimiter);