作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有很多路线,从 gin.Default()
开始使用 Gin (默认情况下为所有路由启用日志记录和恢复)。但是有一条路由(即 /health
)每 5 秒被 ping 一次。在不更改大部分代码的情况下禁用该路由的请求日志记录的直接方法是什么?
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()
}
最佳答案
gin.Logger()
有一个带有 args 的更长的形式,可以接收列出不应记录的路径的字符串的 args,即 gin.LoggerWithWriter(gin.DefaultWriter, "<NO LOG PATH 1>", ...)
.
我用 baseService.GinEngine = gin.New()
覆盖了基本结构 GinService然后手动附加 gin.LoggerWithWriter(...) 和 gin.Recovery() 中间件。
这就是诀窍。
关于go-gin - 禁用特定 Go-Gin 路由的请求日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48780070/
我是一名优秀的程序员,十分优秀!