diff --git a/g/os/glog/glog_logger.go b/g/os/glog/glog_logger.go index 922a450f7..c572fa3bc 100644 --- a/g/os/glog/glog_logger.go +++ b/g/os/glog/glog_logger.go @@ -14,7 +14,6 @@ import ( "fmt" "strings" "runtime" - "strconv" "gitee.com/johng/gf/g/os/gfile" "gitee.com/johng/gf/g/util/gregex" "gitee.com/johng/gf/g/container/gtype" @@ -174,7 +173,7 @@ func (l *Logger) stdPrint(s string) { func (l *Logger) errPrint(s string) { // 记录调用回溯信息 if l.btEnabled.Val() { - backtrace := "Backtrace:" + ln + l.GetBacktrace(3) + backtrace := "Backtrace:" + ln + l.GetBacktrace() if s[len(s) - 1] == byte('\n') { s = s + backtrace + ln } else { @@ -203,9 +202,11 @@ func (l *Logger) GetBacktrace(skip...int) string { index := 1 for i := 1; i < 10000; i++ { if _, cfile, cline, ok := runtime.Caller(customSkip + i + l.btSkip.Val()); ok { - // 不打印出go源码路径 - if !gregex.IsMatchString("^" + gfile.GoRootOfBuild(), cfile) && !gregex.IsMatchString(``, cfile) { - backtrace += strconv.Itoa(index) + ".\t" + cfile + ":" + strconv.Itoa(cline) + ln + // 不打印出go源码路径及glog包文件路径 + if !gregex.IsMatchString("/g/os/glog/glog.+$", cfile) && + !gregex.IsMatchString("^" + gfile.GoRootOfBuild(), cfile) && + !gregex.IsMatchString(``, cfile) { + backtrace += fmt.Sprintf(`%d. %s:%d%s`, index, cfile, cline, ln) index++ } } else { @@ -220,7 +221,7 @@ func (l *Logger) format(s string) string { } func (l *Logger) Print(v ...interface{}) { - l.stdPrint(fmt.Sprint(v...)) + l.stdPrint(fmt.Sprintln(v...)) } func (l *Logger) Printf(format string, v ...interface{}) { @@ -228,7 +229,7 @@ func (l *Logger) Printf(format string, v ...interface{}) { } func (l *Logger) Println(v ...interface{}) { - l.stdPrint(fmt.Sprint(v...) + ln) + l.stdPrint(fmt.Sprintln(v...)) } func (l *Logger) Printfln(format string, v ...interface{}) { @@ -236,7 +237,7 @@ func (l *Logger) Printfln(format string, v ...interface{}) { } func (l *Logger) Fatal(v ...interface{}) { - l.errPrint(fmt.Sprint(v...)) + l.errPrint(fmt.Sprintln(v...)) os.Exit(1) } @@ -246,7 +247,7 @@ func (l *Logger) Fatalf(format string, v ...interface{}) { } func (l *Logger) Fatalln(v ...interface{}) { - l.errPrint(fmt.Sprint(v...) + ln) + l.errPrint(fmt.Sprintln(v...)) os.Exit(1) } @@ -256,7 +257,7 @@ func (l *Logger) Fatalfln(format string, v ...interface{}) { } func (l *Logger) Panic(v ...interface{}) { - s := fmt.Sprint(v...) + s := fmt.Sprintln(v...) l.errPrint(s) panic(s) } @@ -268,7 +269,7 @@ func (l *Logger) Panicf(format string, v ...interface{}) { } func (l *Logger) Panicln(v ...interface{}) { - s := fmt.Sprint(v...) + ln + s := fmt.Sprintln(v...) l.errPrint(s) panic(s) } @@ -281,7 +282,7 @@ func (l *Logger) Panicfln(format string, v ...interface{}) { func (l *Logger) Info(v ...interface{}) { if l.checkLevel(LEVEL_INFO) { - l.stdPrint("[INFO] " + fmt.Sprint(v...) + ln) + l.stdPrint("[INFO] " + fmt.Sprintln(v...)) } } @@ -299,7 +300,7 @@ func (l *Logger) Infofln(format string, v ...interface{}) { func (l *Logger) Debug(v ...interface{}) { if l.checkLevel(LEVEL_DEBU) { - l.stdPrint("[DEBU] " + fmt.Sprint(v...) + ln) + l.stdPrint("[DEBU] " + fmt.Sprintln(v...)) } } @@ -317,7 +318,7 @@ func (l *Logger) Debugfln(format string, v ...interface{}) { func (l *Logger) Notice(v ...interface{}) { if l.checkLevel(LEVEL_NOTI) { - l.errPrint("[NOTI] " + fmt.Sprint(v...) + ln) + l.errPrint("[NOTI] " + fmt.Sprintln(v...)) } } @@ -335,7 +336,7 @@ func (l *Logger) Noticefln(format string, v ...interface{}) { func (l *Logger) Warning(v ...interface{}) { if l.checkLevel(LEVEL_WARN) { - l.errPrint("[WARN] " + fmt.Sprint(v...) + ln) + l.errPrint("[WARN] " + fmt.Sprintln(v...)) } } @@ -353,7 +354,7 @@ func (l *Logger) Warningfln(format string, v ...interface{}) { func (l *Logger) Error(v ...interface{}) { if l.checkLevel(LEVEL_ERRO) { - l.errPrint("[ERRO] " + fmt.Sprint(v...) + ln) + l.errPrint("[ERRO] " + fmt.Sprintln(v...)) } } @@ -371,7 +372,7 @@ func (l *Logger) Errorfln(format string, v ...interface{}) { func (l *Logger) Critical(v ...interface{}) { if l.checkLevel(LEVEL_CRIT) { - l.errPrint("[CRIT] " + fmt.Sprint(v...) + ln) + l.errPrint("[CRIT] " + fmt.Sprintln(v...)) } }