go语言之日志,按文件大小日期轮询rotatelogs
发布时间:2021-05-29 编辑:jiaochengji.com
教程集为您提供go语言之日志,按文件大小日期轮询rotatelogs等资源,欢迎您收藏本站,我们将为您提供最新的go语言之日志,按文件大小日期轮询rotatelogs资源
“–————人与人之间还是直接点好——————”
**为go的log 增加轮询的功能**
使日志自动 保存,清理 实现轮询的机制!使你的系统日志不会再涨大 导致资源匮乏 崩溃 ·
包地址: https://github.com/gggwvg/logrotate
具体参数信息如程序所示!
package main
import (
"time"
//“log” 原生日志
"github.com/gggwvg/logrotate"
"github.com/sirupsen/logrus" //标准库日志
)
func main() {
opts := []logrotate.Option{
logrotate.File("/var/log/agent-mqtt-cli.log"),//创建日志目录
}
// opts = append(opts, logrotate.RotatePeriod(logrotate.PeriodDaily))//按天轮询
opts = append(opts, logrotate.MaxArchives(2))//最大保存两个日志文件
opts = append(opts, logrotate.RotateSize("5m"))//文件满5M就切割轮询
logger, err := logrotate.NewLogger(opts...)//构造函数,创建实例
if err != nil {
panic(err)
}
//log.SetOutput(logger) 原生的log也是可以使用的
logrus.SetOutput(logger) //将日志输出到rotatelogs
logrus.Println("rotate by daily and file size 100m")
//测试方法
f := func() {
for i := 0; i < 100; i {
logrus.WithFields(logrus.Fields{
"animal": "walrus",
"number": i,
}).Info("A walrus appears")
logrus.Error("xxxxxxxxxxxxxxx")
logrus.Error("xxxxxxxxxxxxxxx2")
logrus.Error("xxxxxxxxxxxxxxx3")
time.Sleep(time.Second)
}
}
for i := 0; i < 1000000; i {
go f()
time.Sleep(time.Second)
}
f()
time.Sleep(10 * time.Second)
logger.Close()
}
到此这篇关于“go语言之日志,按文件大小日期轮询rotatelogs”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
您可能感兴趣的文章:
go语言之日志,按日期轮询file-rotatelogs
go语言之日志,按文件大小日期轮询rotatelogs
GO语言-文件版日志系统
shell脚本:MySQL慢查询日志和错误日志按天轮询
golang 日志分析_每日一库之 logrus 日志使用教程
删除及设置linux日志笔记
go 杂谈一
2018年最全Go语言教程零基础入门到进阶实战视频
golang日志服务器_深扒GO日志 | (一)从Go语言的日志包说起
mysql优化之如何定位效率较低的SQL
上一篇:Golang 实现Thrift客户端连接池
下一篇:go 语言方法与接口
[关闭]