Categorygithub.com/chroblert/jlog
repositorypackage
0.1.8
Repository: https://github.com/chroblert/jlog.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

基于:https://github.com/zxysilent/logs 进行开发

0x01 介绍

功能

  • 日志等级DEBUG、INFO、WARN、ERROR、FATAL
  • 日志分级输出
  • 不同等级不同颜色
  • 日志文件个数限制
  • 日志保存时间限制
  • 日志文件自动分割
  • 日志调用信息显示
  • 可直接使用
  • 可新建实例后使用

函数

带时间及调用信息输出:

  • Debug(),Debugf()
  • Info(),Infof()
  • Warn(),Warnf()
  • Error(),Errorf()
  • Fatal(),Fatalf()

不带时间及调用信息输出:

  • NDebug(),NDebugf()
  • NInfo(),NInfof()
  • NWarn(),NWarnf()
  • NError(),NErrorf()
  • NFatal(),NFatalf()

设置选项:

jlog.SetUseConsole(true)                 // 设置是否将日志输出到控制台
jlog.Flush()                             // 写入文件 // 主程序结束前调用
jlog.SetStoreToFile(true)                // 设置是否将日志存储到本地文件中
jlog.SetMaxStoreDays(4)                  // 是指日志文件最多存储多少天 -1表示无限
jlog.IsIniCreateNewLog(false)            // 设置每次使用jlog的时候是否新建一个日志文件
jlog.SetLogFullPath("logs/test.log",0755,0644)// 设置日志保存的全路径.第二个参数可以传入目录权限,若不传,则默认0755;第三个参数可以传入文件权限,若不传,则默认0644
                                         // 注意: windows下:\,/均可作为路径分隔符;linux下:/作为分隔符[!!]
jlog.SetLevel(jlog.DEBUG)                // 设置日志等级,只有不低于该等级的日志才会显示
jlog.SetVerbose(false)                   // 设置是否显示调用jlog的文件名及行号
jlog.SetMaxSizePerLogFile("10MB")         // 设置纯日志内容最大大小(jlog.Nxxx函数输出日志),支持:B,KB,MB,GB,默认500MB.eg:10B,10KB,10MB,10GB

0x02 Use

install

go get -u github.com/chroblert/jlog

直接使用

默认情况下,10s写入一次文件,不限制存储文件个数,不限制文件存储天数,日志路径为logs/app.log
默认输出日志到控制台,默认保存日志到文件,默认重复启动应用只创建一次文件
默认纯日志内容最大大小为500M
默认保存到文件

打印日志有如下方法:

jlog.Debug()
jlog.Debugf()
jlog.Info()
jlog.Infof()
jlog.Warn()
jlog.Warnf()
jlog.Error()
jlog.Errorf()
jlog.Fatal()
jlog.Fatalf()
...

新建实例使用

nlog = jlog.New(jlog.LogConfig{
BufferSize:        2048,    // 2048
FlushInterval:     5000, // 每5秒
MaxStoreDays:      -1, // 无限
MaxSizePerLogFile: "10MB",
LogCount:          -1,
LogFullPath:       "logs/app.log",
LogFilePerm:       0644,
LogDirPerm:        0775,
Lv:                jlog.DEBUG,
UseConsole:        true,
Verbose:           false,
InitCreateNewLog:  false,
StoreToFile:       true,
})