Go之Logrus用法入門

2022-09-19 14:30:12 字數 2815 閱讀 3665

logrus是go (golang)的結構化日誌程式,完全相容標準庫的api日誌程式。

logrus is a structured logger for go (golang), completely api compatible with the standard library logger.

文章目錄:

logrus基本用法

自定義log

參考資料

**倉庫:

注意:基本用法請跳轉logrus

1.1 textformatter

下面展示幾個常用的字段

type textformatter struct

1.2 jsonformatter
下面展示幾個常用的字段

type jsonformatter struct

1.3 第三種 自定義formatter
只需要實現該介面

type formatter inte***ce

其中entry引數

type entry struct

func demo(log *logrus.logger) 

func main() ,

})demo(log)

}

3.1 包結構
test

)//顏色

const (

red = 31

yellow = 33

blue = 36

gray = 37

)type logformatter struct{}

//實現formatter(entry *logrus.entry) (byte, error)介面

func (t *logformatter) format(entry *logrus.entry) (byte, error)

var b *bytes.buffer

if entry.buffer != nil else

}//自定義日期格式

func newlog() *log ) //設定自己定義的formatter

mlog.setlevel(logrus.debuglevel) //設定最低的level

return &log

}//封裝一些會用到的方法

func (l *log) debug(args ...inte***ce{})

func (l *log) debugf(format string, args ...inte***ce{})

func (l *log) info(args ...inte***ce{})

func (l *log) infof(format string, args ...inte***ce{})

func (l *log) error(args ...inte***ce{})

func (l *log) errorf(format string, args ...inte***ce{})

func (l *log) trace(args ...inte***ce{})

func (l *log) tracef(format string, args ...inte***ce{})

func (l *log) panic(args ...inte***ce{})

func (l *log) panicf(format string, args ...inte***ce{})

func (l *log) print(args ...inte***ce{})

func (l *log) printf(format string, args ...inte***ce{})

3.4 main.go
package main

import (

. "./log"

)func demo()

func main()

//輸出,其中[info]為藍色

logrus自定義日誌輸出格式:

logrus中輸出檔名、行號及函式名:

Go第三方日誌庫logrus

目錄 六 字段 七 預設字段 八 日誌條目 九 hooks 十 格式化 十一 記錄函式名 go 從入門到放棄完整教程目錄 更有python go pytorch tensorflow 爬蟲 人工智慧教學等著你 更新 更全的 go從入門到放棄 的更新 更有python go 人工智慧教學等著你 日誌是...

Go第三方日誌庫logrus

日誌是程式中必不可少的乙個環節,由於go語言內建的日誌庫功能比較簡潔,我們在實際開發中通常會選擇使用第三方的日誌庫來進行開發。本文介紹了logrus這個日誌庫的基本使用。logrus是go golang 的結構化logger,與標準庫logger完全api相容。它有以下特點 使用logrus最簡單的...

Go語言入門之 基本了解

2007年,受夠了c 煎熬的google首席軟體工程師rob pike糾集robert griesemer和ken thompson兩位牛人,決定創造一種新語言來取代c 這就是golang。出現在21世紀的go語言,雖然不能如願對c 取而代之,但是其近c的執行效能和近解析型語言的開發效率以及近乎於完...