|
@@ -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"
|
|
|
)
|
|
@@ -16,9 +14,9 @@ const (
|
|
|
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
|
|
|
|
|
|
func init() {
|
|
@@ -37,21 +35,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.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()
|
|
|
initApiLog()
|
|
|
initFileLogData()
|
|
@@ -86,8 +77,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)
|
|
@@ -106,15 +97,13 @@ 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)
|
|
|
+ ApiLog = logs.NewLogger(1000000)
|
|
|
+ logConf := getDefaultLogConfig()
|
|
|
+
|
|
|
+ logConf.FileName = logFileName
|
|
|
+ b, _ := json.Marshal(logConf)
|
|
|
+ ApiLog.SetLogger(logs.AdapterFile, string(b))
|
|
|
+ ApiLog.EnableFuncCallDepth(true)
|
|
|
}
|
|
|
|
|
|
func initFileLogData() {
|
|
@@ -130,38 +119,19 @@ func initFileLogData() {
|
|
|
|
|
|
// 打开文件
|
|
|
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 {
|
|
|
return logConfig{
|
|
|
FileName: "",
|
|
|
- MaxLines: 0,
|
|
|
+ MaxLines: 10000000,
|
|
|
MaxSize: 1 << 28,
|
|
|
Daily: true,
|
|
|
MaxDays: LogMaxDays, //我就是喜欢31天,咋滴,不喜欢你就自己改-_-!
|