This commit is contained in:
Gordon 2022-03-04 17:29:15 +08:00
parent 1bcd2d4531
commit a7c8eda290

View File

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