前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >go : gin 自定义日志输出格式

go : gin 自定义日志输出格式

原创
作者头像
IT工作者
发布2022-07-25 11:17:32
5180
发布2022-07-25 11:17:32
举报
文章被收录于专栏:程序技术知识

本文实验gin 框架 自定义日志格式

代码:

代码语言:javascript
复制
package main

import (
    "fmt"
    "time"

    "github.com/gin-gonic/gin"
)

func main() {
    router := gin.New()
    // LoggerWithFormatter middleware will write the logs to gin.DefaultWrite
    // By default gin.DefaultWriter = os.Stdout
    router.Use(gin.LoggerWithFormatter(func(param gin.LogFormatterParams) string {
        // your custom format
        return fmt.Sprintf("%s - [%s] \"%s %s %s %d %s \"%s\" %s\"\n",
            param.ClientIP,
            param.TimeStamp.Format(time.RFC1123),
            param.Method,
            param.Path,
            param.Request.Proto,
            param.StatusCode,
            param.Latency,
            param.Request.UserAgent(),
            param.ErrorMessage,
        )
    }))
    router.Use(gin.Recovery())
    router.GET("/ping", func(c *gin.Context) {
        c.String(200, "pong")
    })
    router.Run(":8080")
}

运行结果:

[GIN-debug] GET /ping --> main.main.func2 (3 handlers)

[GIN-debug] Listening and serving HTTP on :8080

::1 - [Thu, 05 July 2022 19:28:05 CST] "GET / HTTP/1.1 404 5.113µs "curl/7.54.0" "

::1 - [Thu, 05 July 2022 19:28:05 CST] "GET / HTTP/1.1 404 1.029µs "curl/7.54.0" "

::1 - [Thu, 05 July 2022 19:28:06 CST] "GET / HTTP/1.1 404 1.19µs "curl/7.54.0" "

::1 - [Thu, 05 July 2022 19:28:10 CST] "GET / HTTP/1.1 404 1.565µs "curl/7.54.0" "

::1 - [Thu, 05 July 2022 19:29:08 CST] "GET /ping HTTP/1.1 200 157.996µs "curl/7.54.0" "

::1 - [Thu, 05 July 2022 19:29:09 CST] "GET /ping HTTP/1.1 200 68.985µs "curl/7.54.0" "

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档