登录
首页 >  Golang >  Go问答

将中间件数据发送到Golang中的MySQL表的方法

来源:stackoverflow

时间:2024-03-11 08:09:18 235浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《将中间件数据发送到Golang中的MySQL表的方法》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

如何将以下三个参数输出 param.method、param.statuscode、param.timestamp.format(time.rfc822) 从记录器中间件插入到 mysql 表中?

func logger() gin.HandlerFunc {
    return gin.LoggerWithFormatter(func(param gin.LogFormatterParams) string {
        return fmt.Sprintf("%s %d %s \n",
            param.Method,
            param.StatusCode,
            param.TimeStamp.Format(time.RFC822),
        )
    })
}

解决方案


大概逻辑是这样的,我没用过gin,代码也没有测试过。

db中记录了请求方法、响应状态码、请求完成时间、请求处理时间。

func logger(db *sql.DB) gin.HandlerFunc {
    return func(ctx *gin.Context) {
        now := time.Now()
        ctx.Next()
        db.Exec("INSERT INTO tb_logger(method,code,accesstime,handletime) VALUE(?,?,?,?)", ctx.Request.Method, ctx.Writer.Status(), time.Now().Format(time.RFC822), time.Now().Sub(now).String())
    }
}

今天关于《将中间件数据发送到Golang中的MySQL表的方法》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>