在 Gin 框架中使用 r.Use(logger.GinLogger(), logger.GinRecovery(true)) 可以将日志记录器和恢复中间件添加到路由器中,以便在每个请求处理之前都会经过这两个中间件的处理。
package main
import (
"log"
"net/http"
"github.com/gin-gonic/gin"
"github.com/mylogger/logger" // 自定义日志记录器
)
func main() {
// 创建 Gin 路由器
r := gin.Default()
// 添加日志记录器和恢复中间件
r.Use(logger.GinLogger(), logger.GinRecovery(true))
// 添加路由
r.GET("/", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "Hello, World!",
})
})
// 启动 HTTP 服务器并监听指定端口
err := r.Run(":8080")
if err != nil {
log.Fatalln(err)
}
}
在该示例代码中,我们首先导入了 Gin 框架、日志记录器和 net/http 包。然后,我们创建了一个 Gin 路由器并使用 r.Use 方法添加了日志记录器和恢复中间件。接着,我们添加了一个简单的路由来响应根路径。最后,我们调用 r.Run 方法启动 HTTP 服务器并监听指定端口。
通过使用 r.Use(logger.GinLogger(), logger.GinRecovery(true)) 添加中间件,我们可以实现更强大和可靠的应用程序,更好地追踪和监视每个请求及其处理过程,并及时发现并处理潜在的错误和异常。