|
|
|
@@ -15,7 +15,11 @@ import (
|
|
|
|
|
"go.unistack.org/micro/v3/tracer"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
const badKey = "!BADKEY"
|
|
|
|
|
const (
|
|
|
|
|
badKey = "!BADKEY"
|
|
|
|
|
// DefaultCallerSkipCount used by logger
|
|
|
|
|
defaultCallerSkipCount = 3
|
|
|
|
|
)
|
|
|
|
|
const emptyMSg = "!EMPTYMSG"
|
|
|
|
|
|
|
|
|
|
var reTrace = regexp.MustCompile(`.*/slog/logger\.go.*\n`)
|
|
|
|
@@ -164,7 +168,7 @@ func (s *slogLogger) Logf(ctx context.Context, lvl logger.Level, msg string, att
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var pcs [1]uintptr
|
|
|
|
|
runtime.Callers(s.opts.CallerSkipCount, pcs[:]) // skip [Callers, Infof]
|
|
|
|
|
runtime.Callers(2, pcs[:]) // skip [Callers, Logf]
|
|
|
|
|
r := slog.NewRecord(s.opts.TimeFunc(), loggerToSlogLevel(lvl), msg, pcs[0])
|
|
|
|
|
for _, fn := range s.opts.ContextAttrFuncs {
|
|
|
|
|
attrs = append(attrs, fn(ctx)...)
|
|
|
|
@@ -209,7 +213,7 @@ func (s *slogLogger) Infof(ctx context.Context, msg string, attrs ...interface{}
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var pcs [1]uintptr
|
|
|
|
|
runtime.Callers(s.opts.CallerSkipCount, pcs[:]) // skip [Callers, Infof]
|
|
|
|
|
runtime.Callers(2, pcs[:]) // skip [Callers, Infof]
|
|
|
|
|
r := slog.NewRecord(s.opts.TimeFunc(), slog.LevelInfo, msg, pcs[0])
|
|
|
|
|
for _, fn := range s.opts.ContextAttrFuncs {
|
|
|
|
|
attrs = append(attrs, fn(ctx)...)
|
|
|
|
@@ -236,7 +240,7 @@ func (s *slogLogger) Debugf(ctx context.Context, msg string, attrs ...interface{
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var pcs [1]uintptr
|
|
|
|
|
runtime.Callers(s.opts.CallerSkipCount, pcs[:]) // skip [Callers, Infof]
|
|
|
|
|
runtime.Callers(2, pcs[:]) // skip [Callers, Debugf]
|
|
|
|
|
r := slog.NewRecord(s.opts.TimeFunc(), slog.LevelDebug, msg, pcs[0])
|
|
|
|
|
for _, fn := range s.opts.ContextAttrFuncs {
|
|
|
|
|
attrs = append(attrs, fn(ctx)...)
|
|
|
|
@@ -263,7 +267,7 @@ func (s *slogLogger) Tracef(ctx context.Context, msg string, attrs ...interface{
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var pcs [1]uintptr
|
|
|
|
|
runtime.Callers(s.opts.CallerSkipCount, pcs[:]) // skip [Callers, Infof]
|
|
|
|
|
runtime.Callers(2, pcs[:]) // skip [Callers, Tracef]
|
|
|
|
|
r := slog.NewRecord(s.opts.TimeFunc(), slog.LevelDebug-1, msg, pcs[0])
|
|
|
|
|
for _, fn := range s.opts.ContextAttrFuncs {
|
|
|
|
|
attrs = append(attrs, fn(ctx)...)
|
|
|
|
@@ -290,7 +294,7 @@ func (s *slogLogger) Errorf(ctx context.Context, msg string, attrs ...interface{
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var pcs [1]uintptr
|
|
|
|
|
runtime.Callers(s.opts.CallerSkipCount, pcs[:]) // skip [Callers, Infof]
|
|
|
|
|
runtime.Callers(2, pcs[:]) // skip [Callers, Errorf]
|
|
|
|
|
r := slog.NewRecord(s.opts.TimeFunc(), slog.LevelError, msg, pcs[0])
|
|
|
|
|
for _, fn := range s.opts.ContextAttrFuncs {
|
|
|
|
|
attrs = append(attrs, fn(ctx)...)
|
|
|
|
@@ -336,7 +340,7 @@ func (s *slogLogger) Fatalf(ctx context.Context, msg string, attrs ...interface{
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var pcs [1]uintptr
|
|
|
|
|
runtime.Callers(s.opts.CallerSkipCount, pcs[:]) // skip [Callers, Infof]
|
|
|
|
|
runtime.Callers(2, pcs[:]) // skip [Callers, Fatalf]
|
|
|
|
|
r := slog.NewRecord(s.opts.TimeFunc(), slog.LevelError+1, msg, pcs[0])
|
|
|
|
|
for _, fn := range s.opts.ContextAttrFuncs {
|
|
|
|
|
attrs = append(attrs, fn(ctx)...)
|
|
|
|
@@ -364,7 +368,7 @@ func (s *slogLogger) Warnf(ctx context.Context, msg string, attrs ...interface{}
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var pcs [1]uintptr
|
|
|
|
|
runtime.Callers(s.opts.CallerSkipCount, pcs[:]) // skip [Callers, Infof]
|
|
|
|
|
runtime.Callers(2, pcs[:]) // skip [Callers, Warnf]
|
|
|
|
|
r := slog.NewRecord(s.opts.TimeFunc(), slog.LevelWarn, msg, pcs[0])
|
|
|
|
|
for _, fn := range s.opts.ContextAttrFuncs {
|
|
|
|
|
attrs = append(attrs, fn(ctx)...)
|
|
|
|
@@ -437,7 +441,7 @@ func (s *slogLogger) printLog(ctx context.Context, lvl logger.Level, attrs ...in
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var pcs [1]uintptr
|
|
|
|
|
runtime.Callers(s.opts.CallerSkipCount, pcs[:]) // skip [Callers, Infof]
|
|
|
|
|
runtime.Callers(defaultCallerSkipCount, pcs[:]) // skip [Callers, printLog, LogLvlMethod]
|
|
|
|
|
r := slog.NewRecord(s.opts.TimeFunc(), loggerToSlogLevel(lvl), fmt.Sprintf("%s", msg), pcs[0])
|
|
|
|
|
r.Add(attrs...)
|
|
|
|
|
_ = s.handler.Handle(ctx, r)
|
|
|
|
|