Merge branch 'tuoyun' of github.com:OpenIMSDK/Open-IM-Server into tuoyun

This commit is contained in:
wangchuxiao 2022-03-04 16:53:27 +08:00
commit fec33c0b96

View File

@ -7,7 +7,7 @@
package log package log
import ( import (
"fmt" "Open_IM/pkg/utils"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"runtime" "runtime"
"strings" "strings"
@ -23,38 +23,49 @@ func (f *fileHook) Levels() []logrus.Level {
return logrus.AllLevels return logrus.AllLevels
} }
//func (f *fileHook) Fire(entry *logrus.Entry) error {
// entry.Data["FilePath"] = findCaller(6)
// return nil
//}
func (f *fileHook) Fire(entry *logrus.Entry) error { func (f *fileHook) Fire(entry *logrus.Entry) error {
entry.Data["FilePath"] = findCaller(6) var s string
_, b, c, _ := runtime.Caller(8)
i := strings.LastIndex(b, "/")
if i != -1 {
s = b[i+1:len(b)] + ":" + utils.IntToString(c)
}
entry.Data["FilePath"] = s
return nil return nil
} }
func findCaller(skip int) string { //func findCaller(skip int) string {
file := "" // file := ""
line := 0 // line := 0
for i := 0; i < 10; i++ { // for i := 0; i < 10; i++ {
file, line = getCaller(skip + i) // file, line = getCaller(skip + i)
if !strings.HasPrefix(file, "log") { // if !strings.HasPrefix(file, "log") {
break // break
} // }
} // }
return fmt.Sprintf("%s:%d", file, line) // return fmt.Sprintf("%s:%d", file, line)
} //}
//
func getCaller(skip int) (string, int) { //func getCaller(skip int) (string, int) {
_, file, line, ok := runtime.Caller(skip) // _, file, line, ok := runtime.Caller(skip)
if !ok { // if !ok {
return "", 0 // return "", 0
} // }
//
n := 0 // n := 0
for i := len(file) - 1; i > 0; i-- { // for i := len(file) - 1; i > 0; i-- {
if file[i] == '/' { // if file[i] == '/' {
n++ // n++
if n >= 2 { // if n >= 2 {
file = file[i+1:] // file = file[i+1:]
break // break
} // }
} // }
} // }
return file, line // return file, line
} //}