From ff82c5453386adbae0e23f34678a809108e882ad Mon Sep 17 00:00:00 2001 From: Martin Riedl Date: Thu, 4 Jan 2024 15:15:35 +0100 Subject: [PATCH] fix: escaping of : and \ in keyvalue formatter --- formatter_keyvalue.go | 2 +- formatter_keyvalue_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/formatter_keyvalue.go b/formatter_keyvalue.go index ee20852..2607dce 100644 --- a/formatter_keyvalue.go +++ b/formatter_keyvalue.go @@ -65,7 +65,7 @@ func (formatter *FormatterKeyValue) addKV(key string, value any) { val := fmt.Sprintf("%v", value) // check, if value should be escaped - if strings.ContainsAny(val, " \t\n\r=") { + if strings.ContainsAny(val, " \t\n\r=:\\") { val = fmt.Sprintf("%q", val) } diff --git a/formatter_keyvalue_test.go b/formatter_keyvalue_test.go index 97339b4..0faa5e7 100644 --- a/formatter_keyvalue_test.go +++ b/formatter_keyvalue_test.go @@ -26,7 +26,7 @@ func TestFormatterKeyValue(t *testing.T) { }, Level: LevelInfo, } - result := `time=0001-01-01T00:00:00Z level=INFO message="Some Text" k1=v1 k2=v2` + result := `time="0001-01-01T00:00:00Z" level=INFO message="Some Text" k1=v1 k2=v2` // execute formatter formatter := NewFormatterKeyValue()