good morning!!!!

Skip to content
Snippets Groups Projects
log.go 541 B
Newer Older
  • Learn to ignore specific revisions
  • 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)
    }