欢迎访问Ningto's博客

Menu
  • 首页
  • 归档
  • 关于
  • 书签
  • 必应壁纸
  • IT聚合
  • 工具
    • 我的工具列表
    • 我的网盘
    • 必应每日壁纸API
    • Html转Markdown
    • 仙尘光标
Menu

golang 日志文件切割、保存最大文件数

最后更新 2021-01-29 09:14:47   阅读量 1481

组合使用logrus和lumberjack库能达到我们的目的。
如:日志单个文件最大10M,最多保存30个日志,代码如下:

package Logger

import (
    "io"
    "os"
    "path"

    "github.com/sirupsen/logrus"
    "gopkg.in/natefinch/lumberjack.v2"
)

var (
    logger = logrus.New()
    Debug  = logger.Debug
    Info   = logger.Info
    Warn   = logger.Warn
    Error  = logger.Error
)

func Setting(logPath string) {
    logger.Formatter = &logrus.TextFormatter{
        FullTimestamp:   true,
        TimestampFormat: "2006-01-02 15:04:05",
    }

    logger.Out = io.MultiWriter(os.Stdout, &lumberjack.Logger{
        Filename:   path.Join(logPath),
        MaxSize:    10, // 日志文件最大大小,单位:MB
        MaxBackups: 30, // 日志文件最多个数
        LocalTime:  true,
    })
}

使用:

Logger.Setting("./logs/test.log")
Logger.Info("this is info message")
(转载本站文章请注明作者和出处:泞途 - ningto.com)

下一篇 – win32应用程序内存不足
上一篇 – MacBook突然没网

  1. Go

toningto@outlook.com

标签云

Design Shell Web Windows Qt Database React Bug Node.js Android Mac Go ChatGPT Java Others Tips Javascript IOS Python MQ Linux C/C++ Tools Mobile Boost Life MongoDB Product

推广链接

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元

多谢支持,用了好几年,服务很稳定支持多设备!

其他

文章RSS

Copyright © 2016 Welcome To Ningto Blog | 鄂ICP备17003086号-2