日志工具类

1、日志级别、打印

2、日志文件回滚

renzheng 8921ca557a feat:开发zaplog 3 years ago
golog 8a3e9071f0 feat:完善golog 3 years ago
zaplog 2b4e1a3790 feat:开发zaplog 3 years ago
.gitignore b8f8071fce feat:开发zaplog 3 years ago
README.md 8921ca557a feat:开发zaplog 3 years ago
go.mod b8f8071fce feat:开发zaplog 3 years ago
go.sum b8f8071fce feat:开发zaplog 3 years ago
jylog.go 8a3e9071f0 feat:完善golog 3 years ago

README.md

jylog

日志工具类

golog

简单的原生日志输出包

实现功能

  • 保留日志,定时清理过期日志
  • 支持自定义输出流(默认已经使用go原生的log输出流,可追加)
  • 支持配置保留天数(默认15天)、配置日志切割和清理时间(默认零点)
  • 支持输出日志到自定义目录

start

//使用go get
go get bp.jydev.jianyu360.cn/BP/jylog

//使用 go mod 
import "bp.jydev.jianyu360.cn/BP/jylog/golog"
 
//4个参数,参数不分先后顺序,整数代表保留天数,函数代表输出流(可多个),字符串代表定时任务或日志文件目录

//默认保留15天,每天0点清理,默认输出当前执行目录下jylog目录
InitGoLog()   

//保留7天日志
InitGoLog(7)

//xweb项目使用这个输出流
InitGoLog(xweb.RootApp().Logger.SetOutput)

//每天零点切割日志,并清理7天前日志
InitGoLog(7,xweb.RootApp().Logger.SetOutput,"0 0 0 * * *") 

//输出到D:/jylog 目录
InitGoLog(7,xweb.RootApp().Logger.SetOutput,"0 0 0 * * *","D:/jylog") 

zaplog

zap日志工具的封装

实现功能

  • 指定日志文件路径,默认 ./jylog/app.log
  • 指定输出格式,默认普通输出,可JSON输出
  • 调试模式输出到控制台
  • 输出日志级别,默认info
  • 日志大小,默认2048M
  • 日志文件保留天数,默认15天
  • 日志文件保留备份数,默认15个
  • 备份日志是否压缩,默认压缩
  • 输出日志指定应用名称,默认无
  • warn级别的调用堆栈信息

    type C struct {
    	File       string //文件路径,默认当前jylog/app.log
    	IsJson     bool   //json 或 普通格式,默认普通格式
    	IsDebug    bool   //是否是调试模式,默认非调试
    	Level      int    //日志级别 1=debug 2=info 默认2 3=warn 4=error 5=dpanic 6=panic 7=fatal
    	MaxSize    int    // 每个日志文件保存的大小 单位:M  默认2048
    	MaxAge     int    // 文件最多保存多少天  默认15
    	MaxBackups int    // 日志文件最多保存多少个备份 默认15
    	NoCompress bool   // 是否不压缩,默认压缩
    	AppName    string //应用名称,无
    }
    

start


//使用go get
go get bp.jydev.jianyu360.cn/BP/jylog

//使用 go mod,使用log别名,覆盖标准的输出log方法(Print、Println、Printf,使用info级别)
import (
	log "bp.jydev.jianyu360.cn/BP/jylog/zaplog"  
)

//初始化,不初始化会报错
InitZaplog()
InitZaplog(&C{
	File: "D:/jylog/app.log",
	IsJson: true,
	IsDebug: true,
	AppName: "swordfish",
})

//调用zap对象进行日志输出
ZapLogger.Debug("debug")
ZapLogger.Info("msg", zap.Any("j", 1))

//使用别名的方法
log.Println("test log")