wheat-cache/pkg/logx/logx.go

83 lines
1.5 KiB
Go

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
}