Browse Source

优化日志

xyxie 1 year ago
parent
commit
dabed6ab9c
2 changed files with 33 additions and 25 deletions
  1. 9 8
      utils/constants.go
  2. 24 17
      utils/logs.go

+ 9 - 8
utils/constants.go

@@ -4,10 +4,11 @@ const (
 	Md5Key = "Ks@h64WJ#tcVgG8$&WlNfqvLAtMgpxWN"
 )
 
-//常量定义
+// 常量定义
 const (
 	FormatTime            = "15:04:05"                //时间格式
 	FormatDate            = "2006-01-02"              //日期格式
+	FormatDateUnSpace     = "20060102"                //日期格式
 	FormatDateTime        = "2006-01-02 15:04:05"     //完整时间格式
 	HlbFormatDateTime     = "2006-01-02_15:04:05.999" //完整时间格式
 	FormatDateTimeUnSpace = "20060102150405"          //完整时间格式
@@ -23,19 +24,19 @@ const (
 	EmailSendToUsers = "glji@hzinsights.com;pyan@hzinsights.com"
 )
 
-//手机号,电子邮箱正则
+// 手机号,电子邮箱正则
 const (
 	RegularMobile = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0-9])|(17[0-9])|(16[0-9])|(19[0-9]))\\d{8}$" //手机号码
 	RegularEmail  = `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*`                                             //匹配电子邮箱
 )
 
-//验证码code
+// 验证码code
 const (
 	REGISTER_CODE = iota + 1 //注册
 	LOGIN_CODE               //登录
 )
 
-//聚合短信
+// 聚合短信
 var (
 	JhGnTplId = "65692" //聚合国内模板编码
 	JhGjTplId = "10054" //聚合国内模板编码
@@ -44,7 +45,7 @@ var (
 	JhGjAppKey = "3326ad2c1047a4cd92ace153e6044ca3"
 )
 
-//科大讯飞--语音合成
+// 科大讯飞--语音合成
 const (
 	XfSTATUS_FIRST_FRAME    = 0 //第一帧标识
 	XfSTATUS_CONTINUE_FRAME = 1 //中间帧标识
@@ -57,7 +58,7 @@ const (
 	XfHost                  = "tts-api.xfyun.cn"
 )
 
-//OSS
+// OSS
 var (
 	Endpoint   string = "oss-cn-shanghai.aliyuncs.com"
 	Bucketname string = "hongze"
@@ -70,7 +71,7 @@ var (
 	AccessKeySecret string = "12kk1ptCHoGWedhBnKRVW5hRJzq9Fq"
 )
 
-//客户状态
+// 客户状态
 const (
 	COMPANY_STATUS_TRY_OUT   = "试用"
 	COMPANY_STATUS_FOREVER   = "永续"
@@ -80,7 +81,7 @@ const (
 	COMPANY_STATUS_POTENTIAL = "潜在"
 )
 
-//缓存key
+// 缓存key
 const (
 	CACHE_KEY_USER_VIEW = "user_view_record" //用户阅读数据
 )

+ 24 - 17
utils/logs.go

@@ -2,17 +2,19 @@ package utils
 
 import (
 	"encoding/json"
+	"fmt"
 	"github.com/beego/beego/v2/core/logs"
 	"github.com/sirupsen/logrus"
 	"gopkg.in/natefinch/lumberjack.v2"
 	"os"
 	"path"
+	"time"
 )
 
 const (
-	DefaultLogPath    = "./rdlucklog"
-	DefaultBinlogPath = "./binlog"
-	DefaultBinlogFile = "binlog.log"
+	DefaultLogPath    = "./rdlucklog/filelog"
+	DefaultBinlogPath = "./rdlucklog/binlog"
+	DefaultApiLogPath = "./rdlucklog/apilog"
 )
 
 var FileLog = logrus.New()
@@ -26,14 +28,16 @@ func init() {
 	}
 	logFile := LogFile
 	if logFile == "" {
-		logFile = "eta_report.log"
+		logFile = fmt.Sprintf("%s.log", time.Now().Format(FormatDateUnSpace))
 	}
 	os.MkdirAll(logPath, os.ModePerm)
 
 	// 打开文件
 	logFileName := path.Join(logPath, logFile)
+	logConf := getDefaultLogrusConfig(logFileName)
+	logConf.MaxAge = 1
 	// 使用滚动压缩方式记录日志
-	rolling(FileLog, logFileName)
+	rolling(FileLog, logConf)
 	//rolling(bLogFileName)
 	// 设置日志输出JSON格式
 	jsonFormat := new(logrus.JSONFormatter)
@@ -45,6 +49,7 @@ func init() {
 	// 设置日志记录级别
 	//FileLog.SetLevel(logrus.DebugLevel)
 
+	//初始化binlog日志
 	//FileLog.Info("abc")
 	initBinlog()
 	initApiLog()
@@ -71,7 +76,7 @@ func initBinlog() {
 	}
 	binlogFile := BinLogFile
 	if binlogFile == "" {
-		binlogFile = DefaultBinlogFile
+		binlogFile = fmt.Sprintf("%s.log", time.Now().Format(FormatDateUnSpace))
 	}
 	os.MkdirAll(binlogPath, os.ModePerm)
 	logFileName := path.Join(binlogPath, binlogFile)
@@ -89,22 +94,19 @@ func initBinlog() {
 func initApiLog() {
 	logPath := ApiLogPath
 	if logPath == "" {
-		if RunMode == "release" {
-			logPath = `/data/etalogs/eta_report`
-		} else {
-			logPath = `./rdlucklog/api`
-		}
+		logPath = DefaultApiLogPath
 	}
 	logFile := ApiLogFile
 	if logFile == "" {
-		logFile = "eta_report_api.log"
+		logFile = fmt.Sprintf("%s.log", time.Now().Format(FormatDateUnSpace))
 	}
 	os.MkdirAll(logPath, os.ModePerm)
 
 	// 打开文件
 	logFileName := path.Join(logPath, logFile)
+	logConf := getDefaultLogrusConfig(logFileName)
 	// 使用滚动压缩方式记录日志
-	rolling(ApiLog, logFileName)
+	rolling(ApiLog, logConf)
 	//rolling(bLogFileName)
 	// 设置日志输出JSON格式
 	jsonFormat := new(logrus.JSONFormatter)
@@ -114,16 +116,21 @@ func initApiLog() {
 }
 
 // 日志滚动设置
-func rolling(fLog *logrus.Logger, logFile string) {
+func rolling(fLog *logrus.Logger, config *lumberjack.Logger) {
 	// 设置输出
-	fLog.SetOutput(&lumberjack.Logger{
+	fLog.SetOutput(config)
+}
+
+func getDefaultLogrusConfig(logFile string) (config *lumberjack.Logger) {
+	config = &lumberjack.Logger{
 		Filename:   logFile, //日志文件位置
-		MaxSize:    100,     // 单文件最大容量,单位是MB
+		MaxSize:    256,     // 单文件最大容量,单位是MB
 		MaxBackups: 3,       // 最大保留过期文件个数
 		MaxAge:     7,       // 保留过期文件的最大时间间隔,单位是天
 		Compress:   true,    // 是否需要压缩滚动日志, 使用的 gzip 压缩
 		LocalTime:  true,
-	})
+	}
+	return
 }
 
 func getDefaultLogConfig() logConfig {