Переглянути джерело

切换成beego自带的log

xyxie 1 рік тому
батько
коміт
d70fbe36a0
3 змінених файлів з 34 додано та 116 видалено
  1. 3 22
      controllers/base_auth.go
  2. 4 37
      controllers/base_common.go
  3. 27 57
      utils/logs.go

+ 3 - 22
controllers/base_auth.go

@@ -7,7 +7,6 @@ import (
 	"eta/eta_mobile/services/alarm_msg"
 	"eta/eta_mobile/services/alarm_msg"
 	"eta/eta_mobile/services/data"
 	"eta/eta_mobile/services/data"
 	"fmt"
 	"fmt"
-	"github.com/sirupsen/logrus"
 	"net/http"
 	"net/http"
 	"net/url"
 	"net/url"
 	"strconv"
 	"strconv"
@@ -247,7 +246,7 @@ func (c *BaseAuthController) JSON(data interface{}, hasIndent bool, coding bool)
 	if requestBody == "" {
 	if requestBody == "" {
 		requestBody = c.Ctx.Input.URI()
 		requestBody = c.Ctx.Input.URI()
 	}
 	}
-	c.logUri(data, requestBody, ip)
+	c.logUri(content, requestBody, ip)
 	if coding {
 	if coding {
 		content = []byte(utils.StringsToJSON(string(content)))
 		content = []byte(utils.StringsToJSON(string(content)))
 	}
 	}
@@ -315,7 +314,7 @@ func GetSysUserRoleTypeCode(roleTypeCode string) string {
 	return ""
 	return ""
 }
 }
 
 
-func (c *BaseAuthController) logUri(data interface{}, requestBody, ip string) {
+func (c *BaseAuthController) logUri(respContent []byte, requestBody, ip string) {
 	authorization := ""
 	authorization := ""
 	method := c.Ctx.Input.Method()
 	method := c.Ctx.Input.Method()
 	uri := c.Ctx.Input.URI()
 	uri := c.Ctx.Input.URI()
@@ -353,24 +352,6 @@ func (c *BaseAuthController) 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(),
-			"authorization": authorization,
-			"requestBody":   requestBody,
-			"responseBody":  data,
-			"ip":            ip,
-		}).Info("请求详情")
-	} else {
-		utils.ApiLog.WithFields(logrus.Fields{
-			"uri":           c.Ctx.Input.URI(),
-			"authorization": authorization,
-			"requestBody":   reqData,
-			"responseBody":  data,
-			"ip":            ip,
-		}).Info("请求详情")
-	}
+	utils.ApiLog.Info("uri:%s, authorization:%s, requestBody:%s, responseBody:%s, ip:%s", c.Ctx.Input.URI(), authorization, requestBody, respContent, ip)
 	return
 	return
 }
 }

+ 4 - 37
controllers/base_common.go

@@ -6,7 +6,6 @@ import (
 	"eta/eta_mobile/utils"
 	"eta/eta_mobile/utils"
 	"fmt"
 	"fmt"
 	"github.com/beego/beego/v2/server/web"
 	"github.com/beego/beego/v2/server/web"
-	"github.com/sirupsen/logrus"
 	"net/http"
 	"net/http"
 	"net/url"
 	"net/url"
 	"strings"
 	"strings"
@@ -25,21 +24,7 @@ func (c *BaseCommonController) Prepare() {
 		requestBody, _ = url.QueryUnescape(string(c.Ctx.Input.RequestBody))
 		requestBody, _ = url.QueryUnescape(string(c.Ctx.Input.RequestBody))
 	}
 	}
 	ip := c.Ctx.Input.IP()
 	ip := c.Ctx.Input.IP()
-	var reqData interface{}
-	err := json.Unmarshal([]byte(requestBody), &reqData)
-	if err != nil {
-		utils.ApiLog.WithFields(logrus.Fields{
-			"uri":         c.Ctx.Input.URI(),
-			"requestBody": requestBody,
-			"ip":          ip,
-		}).Info("Prepare 请求详情")
-	} else {
-		utils.ApiLog.WithFields(logrus.Fields{
-			"uri":         c.Ctx.Input.URI(),
-			"requestBody": reqData,
-			"ip":          ip,
-		}).Info("Prepare 请求详情")
-	}
+	utils.ApiLog.Info("uri:%s, requestBody:%s, responseBody:%s, ip:%s", c.Ctx.Input.URI(), requestBody, ip)
 }
 }
 
 
 func (c *BaseCommonController) ServeJSON(encoding ...bool) {
 func (c *BaseCommonController) ServeJSON(encoding ...bool) {
@@ -83,7 +68,7 @@ func (c *BaseCommonController) JSON(data interface{}, hasIndent bool, coding boo
 	fmt.Println("params")
 	fmt.Println("params")
 	fmt.Println(params)
 	fmt.Println(params)
 	requestBody, _ := url.QueryUnescape(string(c.Ctx.Input.RequestBody))
 	requestBody, _ := url.QueryUnescape(string(c.Ctx.Input.RequestBody))
-	c.logUri(data, requestBody, ip)
+	c.logUri(content, requestBody, ip)
 	if coding {
 	if coding {
 		content = []byte(utils.StringsToJSON(string(content)))
 		content = []byte(utils.StringsToJSON(string(content)))
 	}
 	}
@@ -101,7 +86,7 @@ func (c *BaseCommonController) JSON(data interface{}, hasIndent bool, coding boo
 	return c.Ctx.Output.Body(content)
 	return c.Ctx.Output.Body(content)
 }
 }
 
 
-func (c *BaseCommonController) logUri(data interface{}, requestBody, ip string) {
+func (c *BaseCommonController) logUri(respContent []byte, requestBody, ip string) {
 	authorization := ""
 	authorization := ""
 	method := c.Ctx.Input.Method()
 	method := c.Ctx.Input.Method()
 	uri := c.Ctx.Input.URI()
 	uri := c.Ctx.Input.URI()
@@ -139,24 +124,6 @@ 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(),
-			"authorization": authorization,
-			"requestBody":   requestBody,
-			"responseBody":  data,
-			"ip":            ip,
-		}).Info("请求详情")
-	} else {
-		utils.ApiLog.WithFields(logrus.Fields{
-			"uri":           c.Ctx.Input.URI(),
-			"authorization": authorization,
-			"requestBody":   reqData,
-			"responseBody":  data,
-			"ip":            ip,
-		}).Info("请求详情")
-	}
+	utils.ApiLog.Info("uri:%s, authorization:%s, requestBody:%s, responseBody:%s, ip:%s", c.Ctx.Input.URI(), authorization, requestBody, respContent, ip)
 	return
 	return
 }
 }

+ 27 - 57
utils/logs.go

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