package logx import ( "fmt" "gitee.com/timedb/wheatCache/pkg/event" "gitee.com/timedb/wheatCache/pkg/middle-msg" "runtime" "time" ) func With(p *event.ProduceInterface) *upLogger { return &upLogger{ p, } } func (l *upLogger) Debug(msg interface{}) *middle_msg.LogContext { return l.Print("DEBUG", msg) } func (l *upLogger) Info(msg interface{}) *middle_msg.LogContext { return l.Print("INFO", msg) } func (l *upLogger) Warn(msg interface{}) *middle_msg.LogContext { return l.Print("WARN", msg) } func (l *upLogger) Error(msg interface{}) *middle_msg.LogContext { return l.Print("ERROR", msg) } func (l *upLogger) Print(level string, msg interface{}) *middle_msg.LogContext { place := findPlace() datetime := fmt.Sprintf("%s", time.Now())[0:19] fmt.Println(level, datetime, msg, place) return &middle_msg.LogContext{ Level: level, Data: time.Now(), Msg: fmt.Sprintf("%v", msg), Route: place, } } func Debug(msg interface{}) { Print("DEBUG", msg) } func Info(msg interface{}) { Print("INFO", msg) } func Warn(msg interface{}) { Print("WARN", msg) } func Error(msg interface{}) { Print("ERROR", msg) } func Print(level string, msg interface{}) { place := findPlace() datetime := fmt.Sprintf("%s", time.Now())[0:19] fmt.Println(level, datetime, msg, place) } func findPlace() string { var ( place string i = 0 ) for { _, file, line, _ := runtime.Caller(i) if line == 0 { break } i++ place = fmt.Sprintf("%s:%d\n%s", file, line, place) } return place }