@@ -32,25 +32,31 @@ func ZapFieldToOpentracing(zapField zapcore.Field) opentracinglog.Field {
3232 }
3333 return opentracinglog .Bool (zapField .Key , val )
3434 case zapcore .Float32Type :
35- return opentracinglog .Float32 (zapField .Key , math .Float32frombits (uint32 (zapField .Integer )))
35+ return opentracinglog .Float32 (zapField .Key , math .Float32frombits (uint32 (zapField .Integer ))) //nolint:gosec // G115: intentional bit-pattern conversion matching zap's encoding
3636 case zapcore .Float64Type :
37- return opentracinglog .Float64 (zapField .Key , math .Float64frombits (uint64 (zapField .Integer )))
37+ return opentracinglog .Float64 (zapField .Key , math .Float64frombits (uint64 (zapField .Integer ))) //nolint:gosec // G115: intentional bit-pattern conversion matching zap's encoding
3838 case zapcore .Int64Type :
39- return opentracinglog .Int64 (zapField .Key , int64 ( zapField .Integer ) )
39+ return opentracinglog .Int64 (zapField .Key , zapField .Integer )
4040 case zapcore .Int32Type :
41- return opentracinglog .Int32 (zapField .Key , int32 (zapField .Integer ))
41+ return opentracinglog .Int32 (zapField .Key , int32 (zapField .Integer )) //nolint:gosec // G115: value was originally int32, stored as int64 by zap
4242 case zapcore .StringType :
4343 return opentracinglog .String (zapField .Key , zapField .String )
4444 case zapcore .StringerType :
45- return opentracinglog .String (zapField .Key , zapField .Interface .(fmt.Stringer ).String ())
45+ if s , ok := zapField .Interface .(fmt.Stringer ); ok {
46+ return opentracinglog .String (zapField .Key , s .String ())
47+ }
48+ return opentracinglog .Object (zapField .Key , zapField .Interface )
4649 case zapcore .Uint64Type :
47- return opentracinglog .Uint64 (zapField .Key , uint64 (zapField .Integer ))
50+ return opentracinglog .Uint64 (zapField .Key , uint64 (zapField .Integer )) //nolint:gosec // G115: value was originally uint64, stored as int64 by zap
4851 case zapcore .Uint32Type :
49- return opentracinglog .Uint32 (zapField .Key , uint32 (zapField .Integer ))
52+ return opentracinglog .Uint32 (zapField .Key , uint32 (zapField .Integer )) //nolint:gosec // G115: value was originally uint32, stored as int64 by zap
5053 case zapcore .DurationType :
5154 return opentracinglog .String (zapField .Key , time .Duration (zapField .Integer ).String ())
5255 case zapcore .ErrorType :
53- return opentracinglog .Error (zapField .Interface .(error ))
56+ if err , ok := zapField .Interface .(error ); ok {
57+ return opentracinglog .Error (err )
58+ }
59+ return opentracinglog .Object (zapField .Key , zapField .Interface )
5460 default :
5561 return opentracinglog .Object (zapField .Key , zapField .Interface )
5662 }
0 commit comments