diff --git a/go.mod b/go.mod index 9bc4b8c1e05..fcc84df4fdd 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/jaegertracing/jaeger v1.67.0 github.com/jedib0t/go-pretty/v6 v6.6.7 github.com/json-iterator/go v1.1.12 - github.com/jsternberg/zap-logfmt v1.2.0 + github.com/jsternberg/zap-logfmt v1.3.0 github.com/klauspost/compress v1.18.0 github.com/minio/minio-go/v7 v7.0.88 github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect diff --git a/go.sum b/go.sum index 8c4d3a44032..00013a79f80 100644 --- a/go.sum +++ b/go.sum @@ -519,8 +519,8 @@ github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/ github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jsternberg/zap-logfmt v1.2.0 h1:1v+PK4/B48cy8cfQbxL4FmmNZrjnIMr2BsnyEmXqv2o= -github.com/jsternberg/zap-logfmt v1.2.0/go.mod h1:kz+1CUmCutPWABnNkOu9hOHKdT2q3TDYCcsFy9hpqb0= +github.com/jsternberg/zap-logfmt v1.3.0 h1:z1n1AOHVVydOOVuyphbOKyR4NICDQFiJMn1IK5hVQ5Y= +github.com/jsternberg/zap-logfmt v1.3.0/go.mod h1:N3DENp9WNmCZxvkBD/eReWwz1149BK6jEN9cQ4fNwZE= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= @@ -1093,18 +1093,15 @@ go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= diff --git a/vendor/github.com/jsternberg/zap-logfmt/encoder.go b/vendor/github.com/jsternberg/zap-logfmt/encoder.go index 67fe43573cf..3be21fb8a15 100644 --- a/vendor/github.com/jsternberg/zap-logfmt/encoder.go +++ b/vendor/github.com/jsternberg/zap-logfmt/encoder.go @@ -99,19 +99,8 @@ func (enc *logfmtEncoder) AddInt64(key string, value int64) { } func (enc *logfmtEncoder) AddReflected(key string, value interface{}) error { - rvalue := reflect.ValueOf(value) - switch rvalue.Kind() { - case reflect.Chan, reflect.Func, reflect.Map, reflect.Struct: - return ErrUnsupportedValueType - case reflect.Array, reflect.Slice, reflect.Ptr: - if rvalue.IsNil() { - enc.AddByteString(key, nil) - return nil - } - return enc.AddReflected(key, rvalue.Elem().Interface()) - } - enc.AddString(key, fmt.Sprint(value)) - return nil + enc.addKey(key) + return enc.AppendReflected(value) } func (enc *logfmtEncoder) OpenNamespace(key string) { @@ -197,8 +186,26 @@ func (enc *logfmtEncoder) AppendInt64(value int64) { func (enc *logfmtEncoder) AppendReflected(value interface{}) error { rvalue := reflect.ValueOf(value) switch rvalue.Kind() { - case reflect.Array, reflect.Chan, reflect.Func, reflect.Map, reflect.Slice, reflect.Struct: + case reflect.Chan, reflect.Func, reflect.Map, reflect.Struct: return ErrUnsupportedValueType + case reflect.Slice: + if rvalue.IsNil() { + enc.AppendByteString(nil) + return nil + } + // A non-nil slice is handled identically to an array. + fallthrough + case reflect.Array: + marshal := zapcore.ArrayMarshalerFunc(func(aenc zapcore.ArrayEncoder) error { + for i := 0; i < rvalue.Len(); i++ { + v := rvalue.Index(i).Interface() + if err := aenc.AppendReflected(v); err != nil { + return err + } + } + return nil + }) + return enc.AppendArray(marshal) case reflect.Ptr: if rvalue.IsNil() { enc.AppendByteString(nil) @@ -519,7 +526,35 @@ func (enc *literalEncoder) AppendObject(zapcore.ObjectMarshaler) error { } func (enc *literalEncoder) AppendReflected(value interface{}) error { - return ErrUnsupportedValueType + rvalue := reflect.ValueOf(value) + switch rvalue.Kind() { + case reflect.Bool: + enc.AppendBool(value.(bool)) + return nil + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + enc.AppendInt64(rvalue.Int()) + return nil + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + enc.AppendUint64(rvalue.Uint()) + return nil + case reflect.Float32: + enc.AppendFloat32(value.(float32)) + return nil + case reflect.Float64: + enc.AppendFloat64(value.(float64)) + return nil + case reflect.Complex64: + enc.AppendComplex64(value.(complex64)) + return nil + case reflect.Complex128: + enc.AppendComplex128(value.(complex128)) + return nil + case reflect.String: + enc.AppendString(value.(string)) + return nil + default: + return ErrUnsupportedValueType + } } func (enc *literalEncoder) addSeparator() { diff --git a/vendor/modules.txt b/vendor/modules.txt index 0efb5430b08..d41077add0f 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -902,8 +902,8 @@ github.com/jpillora/backoff # github.com/json-iterator/go v1.1.12 ## explicit; go 1.12 github.com/json-iterator/go -# github.com/jsternberg/zap-logfmt v1.2.0 -## explicit +# github.com/jsternberg/zap-logfmt v1.3.0 +## explicit; go 1.17 github.com/jsternberg/zap-logfmt # github.com/julienschmidt/httprouter v1.3.0 ## explicit; go 1.7