Browse Source

feat:开发zaplog

renzheng 3 years ago
parent
commit
0a36796b70
2 changed files with 86 additions and 24 deletions
  1. 86 23
      README.md
  2. 0 1
      zaplog/zaplog.go

+ 86 - 23
README.md

@@ -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")
+
+```

+ 0 - 1
zaplog/zaplog.go

@@ -24,7 +24,6 @@ type C struct {
 	MaxBackups int    // 日志文件最多保存多少个备份 默认15
 	NoCompress bool   // 是否不压缩,默认压缩
 	AppName    string //应用名称,无
-
 }
 
 func InitZaplog(config ...*C) {