本文主要介绍了go日志数据库中的logrus,包括go日志数据库的安装和使用。本文通过示例代码非常详细的为大家介绍,有需要的朋友可以参考一下。
一、安装
去找github.com/sirupsen/logrus
二、使用
1、作为标准库。
Logrus实现了标准库日志的方法,例如,它可以用于logrus
导入(
日志' github.com/sirupsen/logrus '
)
日志。Println(“标准日志”)
2.使用带水平仪的计程仪。
导入(
日志' github.com/sirupsen/logrus '
)
func main() {
日志。信息(“信息”)
}
有七个类别:跟踪,调试,信息,警告,错误,致命和恐慌。这里需要注意的是,致命和紧急日志会中断程序的运行。
3.可以将参数附加到输出日志中。
日志。with field(log。字段{
' flag ':真,
姓名':'张三',
}).致命的(“致命的”)
当操作出现错误时,更容易记录当时的参数进行分析,而不是将参数组织成句子,拼接在一起。
4.日志输出的格式
日志。SetFormatter(日志。JSONFormatter{})
日志。SetFormatter(日志。文本格式化程序{
ForceColors: true,
FullTimestamp: true
})
日志。SetOutput(os。Stdout)
日志。SetLevel(日志。警告级别)
可以输出特定格式的JSON、文本格式、颜色、时间字符串等信息,可以设置输出位置和输出日志级别。
5.输出到多个位置
如果希望将同一日志的内容存储在不同的位置,可以创建不同的日志实例,并为每个实例设置不同的设置。
var log=logrus。新()
6.将日志输出到文件。
文件,错误:=操作系统。OpenFile('logs/cus.log),操作系统。O_CREATE|os。O_WRONLY|os。o _ APPEND 0666)
如果错误==零{
日志。Out=文件
}否则{
日志。信息(“未能记录到文件,使用默认标准错误”)
}
7.拆分日志文件
如果把每天的日志放在一个文件里,会越来越大,按时间划分会更好。初始化时将执行以下内容。
这就需要引入第三方库。
' github . com/lestr rat-go/file-rotatelogs '
' github . com/riff lock/lf shock '
writer,err :=rotatelogs。新(
文件名“”。%Y%m%d%H%M ',//分段后的文件名
Rotatelogs。WithLinkName('文件名'),//生成一个软链,指向最新的日志文件。
Rotatelogs。用maxage (time.hour * 24 * 365),//设置最大保存时间
rotate logs . withrotationtime(time . hour * 24),//设置原木切割间隔。
)
如果err!=零{
日志。Errorf(“配置本地文件系统记录器错误”,err)
}
lf hook:=lf shake。new hook(lfshake。WriterMap{
Log.debuglevel: writer,//为不同的级别设置不同的输出目的
洛格斯。信息层:作家,
洛格斯。WarnLevel:作家,
洛格斯。错误级别:编写器,
洛格斯。致命等级:作家,
洛格斯。PanicLevel:作家,
},logrus。text formatter { disable colors:true })
//最后加入钩子
日志。AddHook(lfHook)
这就是这篇关于go日志库中logrus的文章。有关go Log Library中logrus的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。