merge master

This commit is contained in:
john
2018-09-30 08:36:41 +08:00

View File

@ -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...))
}
}