• 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
    
    
  • 相关阅读:
    GC原理知多少
    C# 编译运行原理
    NetCore无需添加web/wcf引用来调用webservice
    WPF基础知识-资源概述
    WPF基础知识-XAML概述
    WPF入门-使用C#创建简单应用
    WPF概述
    Entity Framework Core
    Entity Framework Core
    Entity Framework Core
  • 原文地址:https://www.cnblogs.com/shuchengyi/p/11425767.html
Copyright © 2020-2023  润新知