Как передать выходные данные промежуточного программного обеспечения регистратора в таблицы mysql в golang? - PullRequest
0 голосов
/ 29 апреля 2020

как мне вставить следующие три параметра, выводящие 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),
        )
    })
}

1 Ответ

0 голосов
/ 29 апреля 2020

Вероятно, логика c такова, я не использовал джин, и код не был проверен.

Записываются метод запроса, код состояния ответа, время завершения запроса и время обработки запроса. в дБ.

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())
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...