欢迎访问Ningto's博客

Menu
  • 首页
  • 归档
  • 关于
  • 必应壁纸
  • 我的网盘
Menu

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

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

组合使用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应用程序内存不足
上一篇 – Redis常见问题和解答

  • Go
  • tujiaw@163.com

    推荐文章

    CentOS6 yum The requested URL returned error: 404 Not Found

    CentOS7 U盘安装 No Caching mode page found

    golang 单例模式

    CentOS7 systemctl service

    golang 中介者模式

    CentOS7 debuginfo-install

    win32应用程序内存不足

    ntscreenshot截图工具马赛克功能实现

    标签云

    MongoDB Database Mac Node.js Tools Product Mobile IOS Web Boost Bug React Shell Life C/C++ Design Android Java Go Tips Windows Javascript Qt Linux MQ
    Copyright © 2016 Welcome To Ningto Blog | 鄂ICP备17003086号