go日志收集系统,golang 日志库,go日志库中的logrus

go日志收集系统,golang 日志库,go日志库中的logrus

本文主要介绍了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的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

go日志收集系统,golang 日志库,go日志库中的logrus