Вероятно, логика 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())
}
}