When using json handler, it report that PANIC: reflect: call of reflect.Value.MapKeys on ptr Value
Wang-Kai opened this issue · 0 comments
Wang-Kai commented
Exactly, i love apex/log, i use it in many project.
But recently in a high load project, i report an odd bug PANIC: reflect: call of reflect.Value.MapKeys on ptr Value
, it a little challenging .
line 48 | log.WithFields(log.Fields{
"Method": r.Method,
"Body": reqBodyStr,
"API": r.URL.Path,
line 52 | }).Info("LoggerMiddleware")
Bug trace
/usr/lib/golang/src/encoding/json/encode.go:333 +0x82
encoding/json.(*encodeState).marshal(0xc0000c62c0, 0x807320, 0xc0001300e0, 0x7f0e582c0100, 0x0, 0x0)
/usr/lib/golang/src/encoding/json/encode.go:305 +0xf4
encoding/json.(*Encoder).Encode(0xc000132230, 0x807320, 0xc0001300e0, 0x9acb6116ee30, 0xc0001b01e0)
/usr/lib/golang/src/encoding/json/stream.go:200 +0x8a
gitlab.ucloudadmin.com/UserProduct/ukms-svc/vendor/github.com/apex/log/handlers/json.(*Handler).HandleLog(0xc00011a210, 0xc0001300e0, 0x0, 0x0)
/root/kai.wang/go/src/gitlab.ucloudadmin.com/UserProduct/ukms-svc/vendor/github.com/apex/log/handlers/json/json.go:33 +0x8f
gitlab.ucloudadmin.com/UserProduct/ukms-svc/vendor/github.com/apex/log.(*Logger).log(0xcf1500, 0x1, 0xc000130070, 0x823089, 0x10)
/root/kai.wang/go/src/gitlab.ucloudadmin.com/UserProduct/ukms-svc/vendor/github.com/apex/log/logger.go:146 +0x7f
gitlab.ucloudadmin.com/UserProduct/ukms-svc/vendor/github.com/apex/log.(*Entry).Info(0xc000130070, 0x823089, 0x10)
/root/kai.wang/go/src/gitlab.ucloudadmin.com/UserProduct/ukms-svc/vendor/github.com/apex/log/entry.go:86 +0x50
gitlab.ucloudadmin.com/UserProduct/ukms-svc/middleware.Logger.func1(0x7f0e5822d080, 0xc00011e018, 0xc000126100, 0xc000280040)
/root/kai.wang/go/src/gitlab.ucloudadmin.com/UserProduct/ukms-svc/middleware/logger.go:52 +0x37c
gitlab.ucloudadmin.com/UserProduct/ukms-svc/vendor/github.com/urfave/negroni.HandlerFunc.ServeHTTP(0x840698, 0x7f0e5822d080, 0xc00011e018, 0xc000126100, 0xc000280040)
Can you help me solve it ? or give me some tips ?
Thank you so much, my idol.