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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Go gorilla securecookie库的安装使用详解
这篇文章主要介绍了Go gorilla securecookie库的安装使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-08-08关于golang中map使用的几点注意事项总结(强烈推荐!)
map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用,下面这篇文章主要给大家介绍了关于golang中map使用的几点注意事项,需要的朋友可以参考下2023-01-01
最新评论