router := gin.New() router.Use(StatusMetrics()) // now we will collect metric for number of reples for a status if logFile != nil { router.Use(gin.LoggerWithWriter(logFile)) router.Use(gin.RecoveryWithWriter(logFile)) } else { router.Use(gin.Logger()) router.Use(gin.Recovery()) } router.Use(Metrics()) // now we will publish metrics for each API call