mirror of
https://github.com/astaxie/beego.git
synced 2024-11-25 20:10:56 +00:00
logger color function refactor,easy to read and run more quickly
This commit is contained in:
parent
6dd5171fdf
commit
4a5e108527
@ -180,7 +180,7 @@ func initColor() {
|
|||||||
// 3xx return White
|
// 3xx return White
|
||||||
// 4xx return Yellow
|
// 4xx return Yellow
|
||||||
// 5xx return Red
|
// 5xx return Red
|
||||||
func ColorByStatus(cond bool, code int) string {
|
func ColorByStatus(code int) string {
|
||||||
once.Do(initColor)
|
once.Do(initColor)
|
||||||
switch {
|
switch {
|
||||||
case code >= 200 && code < 300:
|
case code >= 200 && code < 300:
|
||||||
@ -202,7 +202,7 @@ func ColorByStatus(cond bool, code int) string {
|
|||||||
// PATCH return Green
|
// PATCH return Green
|
||||||
// HEAD return Magenta
|
// HEAD return Magenta
|
||||||
// OPTIONS return WHITE
|
// OPTIONS return WHITE
|
||||||
func ColorByMethod(cond bool, method string) string {
|
func ColorByMethod(method string) string {
|
||||||
once.Do(initColor)
|
once.Do(initColor)
|
||||||
if c := colorMap[method]; c != "" {
|
if c := colorMap[method]; c != "" {
|
||||||
return c
|
return c
|
||||||
@ -210,6 +210,10 @@ func ColorByMethod(cond bool, method string) string {
|
|||||||
return reset
|
return reset
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ResetColor() string {
|
||||||
|
return reset
|
||||||
|
}
|
||||||
|
|
||||||
// Guard Mutex to guarantee atomic of W32Debug(string) function
|
// Guard Mutex to guarantee atomic of W32Debug(string) function
|
||||||
var mu sync.Mutex
|
var mu sync.Mutex
|
||||||
|
|
||||||
|
37
router.go
37
router.go
@ -900,34 +900,29 @@ Admin:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if FilterMonitorFunc(r.Method, r.URL.Path, timeDur, pattern, statusCode) {
|
if FilterMonitorFunc(r.Method, r.URL.Path, timeDur, pattern, statusCode) {
|
||||||
|
routerName := ""
|
||||||
if runRouter != nil {
|
if runRouter != nil {
|
||||||
go toolbox.StatisticsMap.AddStatistics(r.Method, r.URL.Path, runRouter.Name(), timeDur)
|
routerName = runRouter.Name()
|
||||||
} else {
|
|
||||||
go toolbox.StatisticsMap.AddStatistics(r.Method, r.URL.Path, "", timeDur)
|
|
||||||
}
|
}
|
||||||
|
go toolbox.StatisticsMap.AddStatistics(r.Method, r.URL.Path, routerName, timeDur)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if BConfig.RunMode == DEV && !BConfig.Log.AccessLogs {
|
if BConfig.RunMode == DEV && !BConfig.Log.AccessLogs {
|
||||||
var devInfo string
|
match := map[bool]string{true: "match", false: "nomatch"}
|
||||||
iswin := (runtime.GOOS == "windows")
|
devInfo := fmt.Sprintf("|%15s|%s %3d %s|%13s|%8s|%s %-7s %s %-3s",
|
||||||
statusColor := logs.ColorByStatus(iswin, statusCode)
|
context.Input.IP(),
|
||||||
methodColor := logs.ColorByMethod(iswin, r.Method)
|
logs.ColorByStatus(statusCode), statusCode, logs.ResetColor(),
|
||||||
resetColor := logs.ColorByMethod(iswin, "")
|
timeDur.String(),
|
||||||
if findRouter {
|
match[findRouter],
|
||||||
if routerInfo != nil {
|
logs.ColorByMethod(r.Method), r.Method, logs.ResetColor(),
|
||||||
devInfo = fmt.Sprintf("|%15s|%s %3d %s|%13s|%8s|%s %-7s %s %-3s r:%s", context.Input.IP(), statusColor, statusCode,
|
r.URL.Path)
|
||||||
resetColor, timeDur.String(), "match", methodColor, r.Method, resetColor, r.URL.Path,
|
if routerInfo != nil {
|
||||||
routerInfo.pattern)
|
devInfo += fmt.Sprintf(" r:%s", routerInfo.pattern)
|
||||||
} else {
|
|
||||||
devInfo = fmt.Sprintf("|%15s|%s %3d %s|%13s|%8s|%s %-7s %s %-3s", context.Input.IP(), statusColor, statusCode, resetColor,
|
|
||||||
timeDur.String(), "match", methodColor, r.Method, resetColor, r.URL.Path)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
devInfo = fmt.Sprintf("|%15s|%s %3d %s|%13s|%8s|%s %-7s %s %-3s", context.Input.IP(), statusColor, statusCode, resetColor,
|
|
||||||
timeDur.String(), "nomatch", methodColor, r.Method, resetColor, r.URL.Path)
|
|
||||||
}
|
}
|
||||||
if iswin {
|
|
||||||
|
//todo one logger enough,in fact no need to separate logger into windows and others
|
||||||
|
if runtime.GOOS == "windows" {
|
||||||
logs.W32Debug(devInfo)
|
logs.W32Debug(devInfo)
|
||||||
} else {
|
} else {
|
||||||
logs.Debug(devInfo)
|
logs.Debug(devInfo)
|
||||||
|
Loading…
Reference in New Issue
Block a user