mirror of
https://github.com/kongyuebin1/dongfeng-pay.git
synced 2024-12-25 19:42:25 +08:00
147 lines
3.3 KiB
Go
147 lines
3.3 KiB
Go
/***************************************************
|
|
** @Desc : This file for ...日志信息
|
|
** @Time : 2018-12-22 17:34:38
|
|
** @Author : Joker
|
|
** @File : DefaultTest.go
|
|
** @Last Modified by : Joker
|
|
** @Last Modified time: 2019-11-29 10:54:13
|
|
** @Software: GoLand
|
|
****************************************************/
|
|
|
|
package utils
|
|
|
|
import (
|
|
"agent/sys"
|
|
"github.com/beego/beego/v2/core/logs"
|
|
beego "github.com/beego/beego/v2/server/web"
|
|
"strings"
|
|
)
|
|
|
|
// consoleLogs开发模式下日志
|
|
var consoleLogs *logs.BeeLogger
|
|
|
|
// fileLogs 生产环境下日志
|
|
var fileLogs *logs.BeeLogger
|
|
|
|
//运行方式
|
|
var runmode string
|
|
|
|
var pubMethod = sys.PublicMethod{}
|
|
|
|
func InitLogs() {
|
|
//日志输出调用的文件名和文件行号
|
|
logs.EnableFuncCallDepth(true)
|
|
//beego.SetLogFuncCall(true)
|
|
|
|
consoleLogs = logs.NewLogger(1)
|
|
_ = consoleLogs.SetLogger(logs.AdapterConsole)
|
|
consoleLogs.Async() //异步
|
|
fileLogs = logs.NewLogger(10000)
|
|
|
|
//读取配置信息
|
|
filepath, _ := beego.AppConfig.String("logs::filepath")
|
|
level, _ := beego.AppConfig.String("logs::level")
|
|
separate, _ := beego.AppConfig.String("logs::separate")
|
|
maxdays, _ := beego.AppConfig.String("logs::maxdays")
|
|
config := `{"filename":"` + filepath + `",
|
|
"separate":` + separate + `,
|
|
"level":` + level + `,
|
|
"daily":true,
|
|
"maxdays":` + maxdays + `}`
|
|
_ = fileLogs.SetLogger(logs.AdapterMultiFile, config)
|
|
|
|
mode, _ := beego.AppConfig.String("runmode")
|
|
fileLogs.Async(1e3) //异步,设置缓冲 chan 的大小
|
|
runmode = strings.TrimSpace(strings.ToLower(mode))
|
|
if runmode == "" {
|
|
runmode = "dev"
|
|
}
|
|
LogNotice("代理商日志初始化成功!")
|
|
}
|
|
|
|
//根据错误/异常打印不同日志
|
|
func LogEmergency(v ...interface{}) {
|
|
log("emergency", v)
|
|
}
|
|
func LogAlert(v ...interface{}) {
|
|
log("alert", v)
|
|
}
|
|
func LogCritical(v ...interface{}) {
|
|
log("critical", v)
|
|
}
|
|
func LogError(v ...interface{}) {
|
|
log("error", v)
|
|
}
|
|
func LogWarning(v ...interface{}) {
|
|
log("warning", v)
|
|
}
|
|
func LogNotice(v ...interface{}) {
|
|
log("notice", v)
|
|
}
|
|
func LogInfo(v ...interface{}) {
|
|
log("info", v)
|
|
}
|
|
func LogDebug(v ...interface{}) {
|
|
log("debug", v)
|
|
}
|
|
|
|
func LogTrace(v ...interface{}) {
|
|
log("trace", v)
|
|
}
|
|
|
|
//Log 输出日志
|
|
func log(level string, v ...interface{}) {
|
|
format := "%s"
|
|
if level == "" {
|
|
level = "debug"
|
|
}
|
|
//若是开发者模式,则将日志同时输出到控制台
|
|
if runmode == "dev" {
|
|
switch level {
|
|
case "emergency":
|
|
consoleLogs.Emergency(format, v...)
|
|
case "alert":
|
|
consoleLogs.Alert(format, v...)
|
|
case "critical":
|
|
consoleLogs.Critical(format, v...)
|
|
case "warning":
|
|
consoleLogs.Warning(format, v...)
|
|
case "error":
|
|
consoleLogs.Error(format, v...)
|
|
case "notice":
|
|
consoleLogs.Notice(format, v...)
|
|
case "info":
|
|
consoleLogs.Info(format, v...)
|
|
case "debug":
|
|
consoleLogs.Debug(format, v...)
|
|
case "trace":
|
|
consoleLogs.Trace(format, v...)
|
|
default:
|
|
consoleLogs.Debug(format, v...)
|
|
}
|
|
}
|
|
|
|
switch level {
|
|
case "emergency":
|
|
fileLogs.Emergency(format, v...)
|
|
case "alert":
|
|
fileLogs.Alert(format, v...)
|
|
case "critical":
|
|
fileLogs.Critical(format, v...)
|
|
case "error":
|
|
fileLogs.Error(format, v...)
|
|
case "warning":
|
|
fileLogs.Warning(format, v...)
|
|
case "notice":
|
|
fileLogs.Notice(format, v...)
|
|
case "info":
|
|
fileLogs.Info(format, v...)
|
|
case "debug":
|
|
fileLogs.Debug(format, v...)
|
|
case "trace":
|
|
fileLogs.Trace(format, v...)
|
|
default:
|
|
fileLogs.Debug(format, v...)
|
|
}
|
|
}
|