mirror of
https://gitee.com/johng/gf
synced 2026-06-07 02:12:11 +08:00
merge master
This commit is contained in:
@ -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(`<autogenerated>`, 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(`<autogenerated>`, 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...))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user