Tengo un montón de rutas y empiezo con gin.Default()
(habilitando el registro y la recuperación para todas las rutas de forma predeterminada). Pero hay una ruta (es decir, /health
) que recibe un ping cada 5 segundos. ¿Cuál es una forma sencilla de deshabilitar el registro de solicitudes para esa ruta sin cambiar gran parte del código?
func main() {
// gin is initialized upstream in our internal framework
// so I can't change this line easily.
router := gin.Default()
router.GET("/someGet", getting)
router.POST("/somePost", posting)
router.PUT("/somePut", putting)
router.DELETE("/someDelete", deleting)
// ... and more
// Disable request logging for only this route.
// Note: I'm hoping that there's some parameter I can pass in here to do that
route.GET("/health", health)
router.Run()
}
2 respuestas
gin.Logger()
tiene una forma más larga con argumentos que pueden tomar argumentos de cadenas que enumeran rutas que no deben registrarse, es decir, gin.LoggerWithWriter(gin.DefaultWriter, "<NO LOG PATH 1>", ...)
.
Sobrescribí la estructura base GinService con baseService.GinEngine = gin.New()
y luego adjunté los middlewares gin.LoggerWithWriter (...) y gin.Recovery () manualmente.
Eso hizo el truco.
¡La solución de @Paul Lam funciona! aquí está el código de referencia:
router := gin. Default()
Se convierte
router := gin.New()
router.Use(
gin.LoggerWithWriter(gin.DefaultWriter, "/pathsNotToLog/"),
gin.Recovery(),
)
Definición de gin.Default()
referida desde github.com/gin-gonic/gin@v1.3.0/gin.go
Preguntas relacionadas
Nuevas preguntas
go-gin
Gin es un marco web HTTP escrito en Go.