golang中gin框架使用logrus

gin使用logrus

main.go

package main

import (
    "os"

    "github.com/gin-gonic/gin"

    "github.com/sirupsen/logrus"
)

var log = logrus.New() // 创建一个log示例

func initLogrus() (err error) { // 初始化log的函数
    log.Formatter = &logrus.JSONFormatter{}                                       // 设置为json格式的日志
    f, err := os.OpenFile("./zdc.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644) // 创建一个log日志文件
    if err != nil {
        return
    }
    log.Out = f                  // 设置log的默认文件输出
    gin.SetMode(gin.ReleaseMode) // 线上模式,控制台不会打印信息
    gin.DefaultWriter = log.Out  // gin框架自己记录的日志也会输出
    log.Level = logrus.InfoLevel // 设置日志级别
    return
}

func main() {
    err := initLogrus()
    if err != nil {
        panic(err)
    }

    r := gin.Default()
    r.GET("/index", func(c *gin.Context) {
        log.WithFields(logrus.Fields{
            "msg": "测试的错误",
        }).Warn("这是一个warnning级别的日志")

        c.JSON(200, gin.H{
            "code": 0,
            "data": gin.H{
                "name": "zdc",
                "age":  18,
            },
        })
    })
    _ = r.Run()
}

log文件:

{"fields.msg":"测试的错误","level":"warning","msg":"这是一个warnning级别的日志","time":"2019-08-28T18:49:07+08:00"}
[GIN] 2019/08/28 - 18:49:07 | 200 |     20.0011ms |       127.0.0.1 | GET      /index
{"fields.msg":"测试的错误","level":"warning","msg":"这是一个warnning级别的日志","time":"2019-08-28T18:49:09+08:00"}
[GIN] 2019/08/28 - 18:49:09 | 200 |            0s |       127.0.0.1 | GET      /index

猜你喜欢

转载自www.cnblogs.com/shuchengyi/p/11425767.html