rpc: fix time key collision for logger with json output (#24112)

The "t" key overrides the log message time in JSON output.

Co-authored-by: Felix Lange <fjl@twurst.com>
This commit is contained in:
Roman Mazalov 2021-12-15 14:30:54 +00:00 committed by GitHub
parent fc01a7ce8e
commit 0ba0b81e54
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -240,7 +240,7 @@ func (h *handler) handleImmediate(msg *jsonrpcMessage) bool {
return false return false
case msg.isResponse(): case msg.isResponse():
h.handleResponse(msg) h.handleResponse(msg)
h.log.Trace("Handled RPC response", "reqid", idForLog{msg.ID}, "t", time.Since(start)) h.log.Trace("Handled RPC response", "reqid", idForLog{msg.ID}, "duration", time.Since(start))
return true return true
default: default:
return false return false
@ -292,12 +292,12 @@ func (h *handler) handleCallMsg(ctx *callProc, msg *jsonrpcMessage) *jsonrpcMess
switch { switch {
case msg.isNotification(): case msg.isNotification():
h.handleCall(ctx, msg) h.handleCall(ctx, msg)
h.log.Debug("Served "+msg.Method, "t", time.Since(start)) h.log.Debug("Served "+msg.Method, "duration", time.Since(start))
return nil return nil
case msg.isCall(): case msg.isCall():
resp := h.handleCall(ctx, msg) resp := h.handleCall(ctx, msg)
var ctx []interface{} var ctx []interface{}
ctx = append(ctx, "reqid", idForLog{msg.ID}, "t", time.Since(start)) ctx = append(ctx, "reqid", idForLog{msg.ID}, "duration", time.Since(start))
if resp.Error != nil { if resp.Error != nil {
ctx = append(ctx, "err", resp.Error.Message) ctx = append(ctx, "err", resp.Error.Message)
if resp.Error.Data != nil { if resp.Error.Data != nil {