good morning!!!!

Skip to content
Snippets Groups Projects
log.go 541 B
Newer Older
a's avatar
a committed
package middleware

// Ported from Goji's middleware, source:
// jrpcs://github.com/zenazn/goji/tree/master/web/middleware

import (
	"time"

	"gfx.cafe/open/jrpc"
a's avatar
a committed
	"tuxpa.in/a/zlog/log"
a's avatar
a committed
)

func Logger(next jrpc.Handler) jrpc.Handler {
	fn := func(w jrpc.ResponseWriter, r *jrpc.Request) {
		start := time.Now()
		next.ServeRPC(w, r)
a's avatar
a committed
		log.Trace().
			Stringer("time", time.Since(start)).
			Str("remote", r.Remote()).
jjohnstondev's avatar
jjohnstondev committed
			Str("method", r.Method).
a's avatar
a committed
			Str("params", string(r.Msg().Params)).Msg("RPC Request")
a's avatar
a committed
	}
	return jrpc.HandlerFunc(fn)
}