go日志库中的logrus

go日志库中的logrus

一、安装 go get github.com/sirupsen/logrus 二、使用

1、当做标准库使用

logrus实现了标准库log的方法,可以用标准库的方法用于logrus,例如

import ( log "github.com/sirupsen/logrus" ) log.Println("标准log")

2、使用带级别日志

import ( log "github.com/sirupsen/logrus" ) func main() { log.Info("info") }

具体有七个类别Trace、Debug、Info、Warning、Error、Fatal和Panic。这里需要注意Fatal和Panic类型的日志会中断程序的运行。

3、输出日志时可以附带参数

log.WithFields(log.Fields{ "flag": true, "name": "zhangsan", }).Fatal("fatal")

在运行中出现错误时,把当时的参数记录下来更容易分析,而不是把各个参数组织成句子拼接起来。

4、日志输出的格式

log.SetFormatter(&log.JSONFormatter{}) log.SetFormatter(&log.TextFormatter{ ForceColors: true, FullTimestamp: true, }) log.SetOutput(os.Stdout) log.SetLevel(log.WarnLevel)

可以输出JSON,文本格式,对具体的格式还可以设置颜色、时间串等信息,可以设置输出位置,输出日志的级别。

5、输出到多个位置

如果同一份日志内容想存储到不同位置,可以创建不同的log实例,对每个实例进行不同设置

var log = logrus.New()

6、输出日志到文件

file, err := os.OpenFile("logs/cus.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err == nil { log.Out = file } else { log.Info("Failed to log to file, using default stderr") }

7、分割日志文件

如果每天的日志都放到一个文件中,会越来越大,按照时间进行分割会比较好。下面的内容放到初始化的时候执行。

这里面需要引入第三方库

"github.com/lestrrat-go/file-rotatelogs"

"github.com/rifflock/lfshook"

writer, err := rotatelogs.New( "文件名"+".%Y%m%d%H%M", // 分割后的文件名称 rotatelogs.WithLinkName("文件名"), // 生成软链,指向最新日志文件 rotatelogs.WithMaxAge(time.Hour*24*365), // 设置最大保存时间 rotatelogs.WithRotationTime(time.Hour*24), // 设置日志切割时间间隔 ) if err != nil { log.Errorf("config local file system logger error", err) } lfHook := lfshook.NewHook(lfshook.WriterMap{ logrus.DebugLevel: writer, // 为不同级别设置不同的输出目的 logrus.InfoLevel: writer, logrus.WarnLevel: writer, logrus.ErrorLevel: writer, logrus.FatalLevel: writer, logrus.PanicLevel: writer, }, &logrus.TextFormatter{DisableColors: true}) //最后加入hook log.AddHook(lfHook)

到此这篇关于go日志库中的logrus的文章就介绍到这了,更多相关go日志库logrus内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    电脑硬盘csgo凭空消失|csgo突然消失

    电脑硬盘csgo凭空消失|csgo突然消失,,1. csgo突然消失可能是系统出现卡顿,刷新一下重启试试2. csgo地图突然消失方法如下:1、在电脑中启动cs

    csgo参数设置|csgo怎么保存

    csgo参数设置|csgo怎么保存,,csgo怎么保存第一步下载csgo的官方版本。然后再下载一个5e对战平台,PS:5e的账号和csgo的账号不是一个账号。第

    aigo无线硬盘连电脑|aigo优盘连接手机

    aigo无线硬盘连电脑|aigo优盘连接手机,,1. aigo优盘连接手机不管是爱国者U盘还是其他的U盘,要导入华为手机的话,首先需要有一个转接头,一头插

    csgo高手快捷键|csgo快捷键指令

    csgo高手快捷键|csgo快捷键指令,,1. csgo快捷键指令反恐精英全球攻势游戏中,死亡竞赛的回合时间60分钟:mp_roundtime 60,休闲/竞技模式的每局

    aigo电脑主机系统重启|csgo重启电脑

    aigo电脑主机系统重启|csgo重启电脑,,csgo重启电脑如果重启成功应该是不需要,相反就需重新安装csgo重启电脑重连不上直接打开游戏,通过游戏

    csgo电脑等级|csgo电脑等级指令

    csgo电脑等级|csgo电脑等级指令,,csgo电脑等级指令如图:竞技匹配等级另外还有每打一局都加经验的那个等级是满级为40,满了之后可兑换赛季纪

    csgo设置准星|csgo设置准星大小

    csgo设置准星|csgo设置准星大小,,csgo设置准星大小csgo怎么设置准星方法:1.打开CSGO游戏,打开创意工坊,查找crashz' Crosshair Generator v2

    duolingo电脑版|Duolingo软件

    duolingo电脑版|Duolingo软件,,Duolingo软件1.百词斩:2.英语流利说:“英语流利说”是一款融合创新口语教学理念和尖端语音评估技术的英语口