<强>补充:去之第三方日志库logrus使用
<强>第三方日志库logrus使用
日志是程序中必不可少的一个环节,由于去语言内置的日志库功能比较简洁,我们在实际开发中通常会选择使用第三方的日志库来进行开发。本文介绍了logrus这个日志库的基本使用。
<强> logrus介绍
logrus是去(golang)的结构化记录器,与标准库记录器完全API兼容。
它有以下特点:
完全兼容标准日志库,拥有七种日志级别:跟踪、调试、信息、警告、错误,Fataland恐慌。
可扩展的钩机制,允许使用者通过钩的方式将日志分发到任意地方,如本地文件系统,logstash, elasticsearch或者mq等,或者通过钩定义日志内容和格式等
可选的日志输出格式,内置了两种日志格式JSONFormater和定义,还可以自定义日志格式
字段机制,通过了机制进行结构化的日志记录
线程安全
<强>安装
美元去github.com/sirupsen/logrus
<>强基本示例
使用logrus最简单的方法是简单的包级导出日志程序:
package main import ( ,log “;github.com/sirupsen/logrus" ), func main (), { ,log.WithFields (log.Fields { “animal"才能:,“dog" 中,}). info(“一条舔狗出现了!”) }<强>进阶示例
对于更高级的用法,例如在同一应用程序记录到多个位置,你还可以创建logrus记录器的实例:
package main import ( ,“os" ,“;github.com/sirupsen/logrus" ),//,创建一个新的记录器实例。可以创建任意多个。 var log =, logrus.New (), func main (), { ,//设置日志输出为os.Stdout=,log.Out os.Stdout , ,//可以设置像文件等任意“io.Writer”类型作为日志输出 ,//文件,,err :=, os.OpenFile (“logrus.log",, os.O_CREATE | os.O_WRONLY | os.O_APPEND,, 0666) ,//if err ==, nil { ,//log.Out =,文件 ,//},{else ,//log.Info (“Failed 用log 用文件,,using default stderr") ,//} , ,log.WithFields (logrus.Fields { “animal"才能:,“dog" “size"才能:,,, 中,}). info(“一群舔狗出现了!”) }