Files
learn-golang/Web开发/02go-gin-middleware/middleware_logger.go
liumangmang b010f82221 feat(auth): 添加完整的用户认证API项目
- 实现用户注册、登录、JWT令牌认证功能
- 集成Gin、GORM、Viper、Zap等框架
- 添加密码加密、数据库操作、中间件等完整功能
- 配置多环境支持、日志轮转、CORS处理
- 创建完整的项目结构和配置文件体系
2025-12-30 18:00:42 +08:00

47 lines
845 B
Go

package main
import (
"fmt"
"time"
"github.com/gin-gonic/gin"
)
// 日志中间件
func LoggerMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
// 记录请求信息
startTime := time.Now()
method := c.Request.Method
url := c.Request.URL.Path
// 继续处理
c.Next()
// 记录响应信息
statusCode := c.Writer.Status()
duration := time.Since(startTime)
fmt.Printf("[%s] %s %d ( %v)\n", method, url, statusCode, duration)
}
}
func main() {
r := gin.New() // 不使用默认中间件
// 使用自定义日志中间件
r.Use(LoggerMiddleware())
r.Use(gin.Recovery())
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{"message": "Hello"})
})
r.GET("/slow", func(c *gin.Context) {
time.Sleep(100 * time.Millisecond)
c.JSON(200, gin.H{"message": "Slow endpoint"})
})
r.Run(":9999")
}