From 94651d1f5c289b01c02945e8bc4b78132fb3539f Mon Sep 17 00:00:00 2001 From: john Date: Sat, 29 Sep 2018 18:25:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9Bglog=20backtrace=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- g/os/glog/glog_logger.go | 35 ++++++++++++++++++----------------- geg/other/test.go | 14 +++----------- 2 files changed, 21 insertions(+), 28 deletions(-) diff --git a/g/os/glog/glog_logger.go b/g/os/glog/glog_logger.go index cad0ad2f0..636419117 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...)) } } diff --git a/geg/other/test.go b/geg/other/test.go index 309f5e602..95f307477 100644 --- a/geg/other/test.go +++ b/geg/other/test.go @@ -1,19 +1,11 @@ package main import ( - "gitee.com/johng/gf/g/os/glog" - "time" - "gitee.com/johng/gf/g" + "fmt" + "gitee.com/johng/gf/g/util/gregex" ) func main() { - g.Config().AddPath("eeee") - g.Config().AddPath(".") - glog.SetPath(g.Config().GetString("logPath")) - glog.SetPath("/tmp/test-logs") - for { - glog.Println("1") - time.Sleep(time.Second) - } + fmt.Println(gregex.IsMatchString("g/os/glog/glog.+$", "g/os/glog/glog_logger.go")) }