33 lines
700 B
Go
33 lines
700 B
Go
package xlog
|
|
|
|
import (
|
|
"context"
|
|
"log/slog"
|
|
)
|
|
|
|
type cronlogger struct {
|
|
basectx context.Context
|
|
log *slog.Logger
|
|
}
|
|
|
|
func WrapSLogger(ctx context.Context, log *slog.Logger) cronlogger {
|
|
return cronlogger{
|
|
basectx: ctx,
|
|
log: log,
|
|
}
|
|
}
|
|
|
|
func (l cronlogger) Info(msg string, keysAndValues ...any) {
|
|
attrs := mapKeysAndValues(keysAndValues...)
|
|
l.log.LogAttrs(l.basectx, slog.LevelInfo, msg, attrs...)
|
|
}
|
|
|
|
func (l cronlogger) Error(err error, msg string, keysAndValues ...any) {
|
|
attrs := append(mapKeysAndValues(keysAndValues...), slog.Any("err", err))
|
|
l.log.LogAttrs(l.basectx, slog.LevelError, msg, attrs...)
|
|
}
|
|
|
|
func mapKeysAndValues(keysAndValues ...any) []slog.Attr {
|
|
return nil
|
|
}
|