Go使用zap+ratatelogs实现日志文件输出与分割

本文介绍了如何在Go中使用zap日志库结合ratelogs工具,实现日志统一输出到指定文件,并在程序重启后累加写入,同时确保日志每24小时自动分割,保留30天的历史记录。通过对比zap、logrus和seelog,强调了zap的高性能和灵活性。

需求:将日志文件统一输出到D:/bian/logs/dspcollect.log文件中,go程序重启后日志累加写入文件,每24小时分割一次日志,保存30天内的日志文件。

对比了几款go 日志框架:zap , logrus ,seelog等。其中logrus是目前Github上star数量最多的日志库,能强大,性能高效,而且具有高度灵活性,提供了自定义插件的功能。zap是Uber推出的一个快速、结构化的分级日志库.具有强大的ad-hoc分析功能,并且具有灵活的仪表盘。seelog提供了灵活的异步调度、格式化和过滤功能。

关于logrus的使用可以参考这篇博客:https://mojotv.cn/2018/12/27/golang-logrus-tutorial

本文主要使用zap,涉及到的go包如下:

github.com/lestrrat/go-file-rotatelogs  //由于zap,logrus都不支持日志分割,所有依赖rotate进行日志分割

go.uber.org/zap

package main

import (
	"github.com/lestrrat/go-file-rotatelogs"
	"go.uber.org/zap"
	"go.uber.org/zap/zapcore"
	"io"
	"time"
)

var Logger *zap.SugaredLogger

func main() {
	Logger.Error("error....")
	Logger.Info("info....")
	Logger.Warn("warn....")

}

func init() {
	initLogger()
}

func initLo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值