|
@@ -14,26 +14,89 @@
|
|
|
### start
|
|
|
|
|
|
```
|
|
|
- //使用go get
|
|
|
- go get bp.jydev.jianyu360.cn/BP/jylog
|
|
|
-
|
|
|
- //使用 go mod
|
|
|
- import "bp.jydev.jianyu360.cn/BP/jylog"
|
|
|
-
|
|
|
- //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")
|
|
|
-```
|
|
|
+//使用go get
|
|
|
+go get bp.jydev.jianyu360.cn/BP/jylog
|
|
|
+
|
|
|
+//使用 go mod
|
|
|
+import "bp.jydev.jianyu360.cn/BP/jylog"
|
|
|
+
|
|
|
+//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/zaplog
|
|
|
+
|
|
|
+//使用 go mod,使用log别名,覆盖标准的输出log方法(Print、Println、Printf,使用info级别)
|
|
|
+import (
|
|
|
+ log "bp.jydev.jianyu360.cn/BP/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")
|
|
|
+
|
|
|
+```
|