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  }