github.com/adharshmk96/stk@v1.2.3/pkg/middleware/logger.go (about) 1 package middleware 2 3 import ( 4 "fmt" 5 "time" 6 7 "github.com/adharshmk96/stk/gsk" 8 ) 9 10 func RequestLogger(next gsk.HandlerFunc) gsk.HandlerFunc { 11 return func(c *gsk.Context) { 12 startTime := time.Now() 13 c.Logger().Info( 14 "incoming_request", 15 "method", c.Request.Method, 16 "url", c.Request.URL.String(), 17 ) 18 19 next(c) 20 21 timeTaken := time.Since(startTime).Milliseconds() 22 c.Logger().Info( 23 "request_served", 24 "method", c.Request.Method, 25 "url", c.Request.URL.String(), 26 "status", c.GetStatusCode(), 27 "timeTaken", fmt.Sprintf("%d ms", timeTaken), 28 ) 29 } 30 }