Newer
Older
// Key to use when setting the request ID.
type ctxKeyLogger int
// RequestIDKey is the key that holds the unique request ID in a request context.
const LoggerKey ctxKeyLogger = 76
func Logger(next jrpc.Handler) jrpc.Handler {
fn := func(w jrpc.ResponseWriter, r *jrpc.Request) {
start := time.Now()
Str("params", string(r.Msg().Params))
next.ServeRPC(w, r.WithContext(context.WithValue(r.Context(), LoggerKey, l)))
l = l.Stringer("dur", time.Since(start))
l.Msg("RPC Request")