Parcourir la source

Merge branch 'feature/change_log' of eta_server/eta_report into master

xyxie il y a 1 an
Parent
commit
7ac7193203
5 fichiers modifiés avec 24 ajouts et 71 suppressions
  1. 3 20
      controllers/base_common.go
  2. 1 2
      go.mod
  3. 0 2
      go.sum
  4. 2 0
      models/db.go
  5. 18 47
      utils/logs.go

+ 3 - 20
controllers/base_common.go

@@ -6,7 +6,6 @@ import (
 	"eta/eta_report/services"
 	"eta/eta_report/utils"
 	"github.com/beego/beego/v2/server/web"
-	"github.com/sirupsen/logrus"
 	"net/http"
 	"net/url"
 )
@@ -63,7 +62,7 @@ func (c *BaseCommonController) JSON(data interface{}, hasIndent bool, coding boo
 	if requestBody == "" {
 		requestBody = c.Ctx.Input.URI()
 	}
-	c.logUri(data, requestBody, ip)
+	c.logUri(content, requestBody, ip)
 	if coding {
 		content = []byte(utils.StringsToJSON(string(content)))
 	}
@@ -78,23 +77,7 @@ func (c *BaseCommonController) JSON(data interface{}, hasIndent bool, coding boo
 	return c.Ctx.Output.Body(content)
 }
 
-func (c *BaseCommonController) logUri(data interface{}, requestBody, ip string) {
-	var reqData interface{}
-	err := json.Unmarshal([]byte(requestBody), &reqData)
-	if err != nil {
-		utils.ApiLog.WithFields(logrus.Fields{
-			"uri":          c.Ctx.Input.URI(),
-			"requestBody":  requestBody,
-			"responseBody": data,
-			"ip":           ip,
-		}).Info("请求详情")
-	} else {
-		utils.ApiLog.WithFields(logrus.Fields{
-			"uri":          c.Ctx.Input.URI(),
-			"requestBody":  reqData,
-			"responseBody": data,
-			"ip":           ip,
-		}).Info("请求详情")
-	}
+func (c *BaseCommonController) logUri(content []byte, requestBody, ip string) {
+	utils.ApiLog.Info("uri:%s, requestBody:%s, responseBody:%s, ip:%s", c.Ctx.Input.URI(), requestBody, content, ip)
 	return
 }

+ 1 - 2
go.mod

@@ -9,9 +9,7 @@ require (
 	github.com/go-sql-driver/mysql v1.7.0
 	github.com/minio/minio-go/v7 v7.0.63
 	github.com/rdlucklib/rdluck_tools v1.0.3
-	github.com/sirupsen/logrus v1.9.3
 	gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
-	gopkg.in/natefinch/lumberjack.v2 v2.2.1
 )
 
 require (
@@ -39,6 +37,7 @@ require (
 	github.com/prometheus/procfs v0.10.1 // indirect
 	github.com/rs/xid v1.5.0 // indirect
 	github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18 // indirect
+	github.com/sirupsen/logrus v1.9.3 // indirect
 	golang.org/x/crypto v0.12.0 // indirect
 	golang.org/x/net v0.14.0 // indirect
 	golang.org/x/sys v0.11.0 // indirect

+ 0 - 2
go.sum

@@ -243,8 +243,6 @@ gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkp
 gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
 gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
-gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc=
-gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

+ 2 - 0
models/db.go

@@ -24,6 +24,8 @@ func init() {
 	etaDb, _ := orm.GetDB("eta")
 	etaDb.SetConnMaxLifetime(10 * time.Minute)
 
+	orm.Debug = true
+	orm.DebugLog = orm.NewLog(utils.Binlog)
 	//注册对象
 	orm.RegisterModel(
 		new(Report),

+ 18 - 47
utils/logs.go

@@ -3,8 +3,6 @@ package utils
 import (
 	"encoding/json"
 	"github.com/beego/beego/v2/core/logs"
-	"github.com/sirupsen/logrus"
-	"gopkg.in/natefinch/lumberjack.v2"
 	"os"
 	"path"
 )
@@ -15,8 +13,8 @@ const (
 	DefaultApiLogPath = "./etalogs/apilog"
 )
 
-var FileLog = logrus.New()
-var ApiLog = logrus.New()
+var FileLog *logs.BeeLogger
+var ApiLog *logs.BeeLogger
 var Binlog *logs.BeeLogger
 
 func init() {
@@ -35,21 +33,14 @@ func init() {
 
 	// 打开文件
 	logFileName := path.Join(logPath, logFile)
-	logConf := getDefaultLogrusConfig(logFileName)
-	// 使用滚动压缩方式记录日志
-	rolling(FileLog, logConf)
-	//rolling(bLogFileName)
-	// 设置日志输出JSON格式
-	jsonFormat := new(logrus.JSONFormatter)
-	jsonFormat.DisableHTMLEscape = true
-	jsonFormat.TimestampFormat = HlbFormatDateTime
-	FileLog.SetFormatter(jsonFormat)
-	FileLog.SetReportCaller(true)
-	//LogInstance.SetFormatter(&logrus.TextFormatter{})
-	// 设置日志记录级别
-	//FileLog.SetLevel(logrus.DebugLevel)
+	FileLog = logs.NewLogger(1000000)
+	logConf := getDefaultLogConfig()
+
+	logConf.FileName = logFileName
+	b, _ := json.Marshal(logConf)
+	FileLog.SetLogger(logs.AdapterFile, string(b))
+	FileLog.EnableFuncCallDepth(true)
 
-	//FileLog.Info("abc")
 	initBinlog()
 	initApiLog()
 }
@@ -83,8 +74,8 @@ func initBinlog() {
 	logConf := getDefaultLogConfig()
 
 	logConf.FileName = logFileName
-	logConf.MaxLines = 10000000
-	logConf.Rotate = true
+	//logConf.MaxLines = 10000000
+	//logConf.Rotate = true
 	b, _ := json.Marshal(logConf)
 	Binlog.SetLogger(logs.AdapterFile, string(b))
 	Binlog.EnableFuncCallDepth(true)
@@ -103,39 +94,19 @@ func initApiLog() {
 
 	// 打开文件
 	logFileName := path.Join(logPath, logFile)
-	logConf := getDefaultLogrusConfig(logFileName)
-	// 使用滚动压缩方式记录日志
-	rolling(ApiLog, logConf)
-	//rolling(bLogFileName)
-	// 设置日志输出JSON格式
-	jsonFormat := new(logrus.JSONFormatter)
-	jsonFormat.DisableHTMLEscape = true
-	jsonFormat.TimestampFormat = HlbFormatDateTime
-	ApiLog.SetFormatter(jsonFormat)
-}
-
-// 日志滚动设置
-func rolling(fLog *logrus.Logger, config *lumberjack.Logger) {
-	// 设置输出
-	fLog.SetOutput(config)
-}
+	ApiLog = logs.NewLogger(1000000)
+	logConf := getDefaultLogConfig()
 
-func getDefaultLogrusConfig(logFile string) (config *lumberjack.Logger) {
-	config = &lumberjack.Logger{
-		Filename:   logFile,    //日志文件位置
-		MaxSize:    256,        // 单文件最大容量,单位是MB
-		MaxBackups: 0,          // 最大保留过期文件个数
-		MaxAge:     LogMaxDays, // 保留过期文件的最大时间间隔,单位是天
-		Compress:   true,       // 是否需要压缩滚动日志, 使用的 gzip 压缩
-		LocalTime:  true,
-	}
-	return
+	logConf.FileName = logFileName
+	b, _ := json.Marshal(logConf)
+	ApiLog.SetLogger(logs.AdapterFile, string(b))
+	ApiLog.EnableFuncCallDepth(true)
 }
 
 func getDefaultLogConfig() logConfig {
 	return logConfig{
 		FileName: "",
-		MaxLines: 0,
+		MaxLines: 10000000,
 		MaxSize:  1 << 28,
 		Daily:    true,
 		MaxDays:  LogMaxDays, //我就是喜欢31天,咋滴,不喜欢你就自己改-_-!