log: do not pad values longer than 40 characters (#19592)

* log: Do not pad too long values

* log: gofmt
This commit is contained in:
Nikifor Seryakov 2019-05-20 17:26:29 +04:00 committed by Péter Szilágyi
parent 4cf8505d22
commit a54142987c

@ -14,10 +14,11 @@ import (
) )
const ( const (
timeFormat = "2006-01-02T15:04:05-0700" timeFormat = "2006-01-02T15:04:05-0700"
termTimeFormat = "01-02|15:04:05.000" termTimeFormat = "01-02|15:04:05.000"
floatFormat = 'f' floatFormat = 'f'
termMsgJust = 40 termMsgJust = 40
termCtxMaxPadding = 40
) )
// locationTrims are trimmed for display to avoid unwieldy log lines. // locationTrims are trimmed for display to avoid unwieldy log lines.
@ -175,7 +176,7 @@ func logfmt(buf *bytes.Buffer, ctx []interface{}, color int, term bool) {
fieldPaddingLock.RUnlock() fieldPaddingLock.RUnlock()
length := utf8.RuneCountInString(v) length := utf8.RuneCountInString(v)
if padding < length { if padding < length && length <= termCtxMaxPadding {
padding = length padding = length
fieldPaddingLock.Lock() fieldPaddingLock.Lock()
@ -189,7 +190,7 @@ func logfmt(buf *bytes.Buffer, ctx []interface{}, color int, term bool) {
buf.WriteByte('=') buf.WriteByte('=')
} }
buf.WriteString(v) buf.WriteString(v)
if i < len(ctx)-2 { if i < len(ctx)-2 && padding > length {
buf.Write(bytes.Repeat([]byte{' '}, padding-length)) buf.Write(bytes.Repeat([]byte{' '}, padding-length))
} }
} }