gin基于logrus的日志+rotatelogs日志拆分的中间件

这篇博客介绍了如何在Gin框架中结合logrus库和rotatelogs工具,实现日志记录及按需拆分,确保全局异常捕获并返回自定义状态码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

gin基于logrus的日志+rotatelogs日志拆分的中间件

func Logger() gin.HandlerFunc {
   
   
	filePath := "log/gin"
	linkName := "latest_log.log"
	src, _ := os.OpenFile(filePath, os.O_RDWR|os.O_CREATE, 0755)
	logger := logrus.New()
	logger.Out = src

	logger.SetLevel(logrus.DebugLevel)
	logWriter, _ := retalog.New(
		filePath+"%Y%m%d.log",
		retalog.WithMaxAge(config.MaxSaveTime*24*time.Hour),
		retalog.WithRotationTime(config.LogDivideTime*time.Hour),
		retalog.WithLinkName(linkName),
	)

	writeMap := lfshook.WriterMap{
   
   
		logrus.InfoLevel:  logWriter,
		logrus.FatalLevel: logWriter,
		logrus.DebugLevel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值