Files
asset-tracker/internal/api/accesslog.go

21 lines
456 B
Go

package api
import (
"log"
"time"
"asset-tracker/internal/metrics"
"github.com/gin-gonic/gin"
)
func AccessLog() gin.HandlerFunc {
return func(c *gin.Context) {
start := time.Now()
c.Next()
latency := time.Since(start)
metrics.ObserveHTTP(c, start)
log.Printf("[http] request_id=%s method=%s path=%s status=%d latency=%s ip=%s", requestID(c), c.Request.Method, c.Request.URL.Path, c.Writer.Status(), latency.String(), c.ClientIP())
}
}