From 3c334cd8ba8ff25c4494b3eaf7cf5400029be7bc Mon Sep 17 00:00:00 2001 From: Ryan McKinley Date: Wed, 26 Jan 2022 13:17:42 -0800 Subject: [PATCH] Logger: avoid panic when time is a string (not fmt.Stringer) (#44497) --- pkg/infra/log/term/terminal_logger.go | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/pkg/infra/log/term/terminal_logger.go b/pkg/infra/log/term/terminal_logger.go index 21fa02b0a9c..5246a197987 100644 --- a/pkg/infra/log/term/terminal_logger.go +++ b/pkg/infra/log/term/terminal_logger.go @@ -91,12 +91,24 @@ func getRecord(keyvals ...interface{}) *record { k, v := keyvals[i], keyvals[i+1] if k == "t" { - t := v.(fmt.Stringer) - time, err := time.Parse("2006-01-02T15:04:05.999999999-0700", t.String()) - if err == nil { - r.time = time + t, ok := v.(fmt.Stringer) + if ok { + time, err := time.Parse("2006-01-02T15:04:05.999999999-0700", t.String()) + if err == nil { + r.time = time + continue + } + } + + t3, ok := v.(string) + if ok { + // from alerting: 2022-01-26T12:03:41.655107858-08:00 + time, err := time.Parse("2006-01-02T15:04:05.999999999-07:00", t3) + if err == nil { + r.time = time + continue + } } - continue } if keyvals[i] == "msg" {