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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM