41 lines
823 B
Go
41 lines
823 B
Go
package utils
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/dgraph-io/badger/v2"
|
|
"golang.org/x/exp/slog"
|
|
)
|
|
|
|
type SlogLogger struct {
|
|
logger *slog.Logger
|
|
}
|
|
|
|
// Debugf implements badger.Logger
|
|
func (l *SlogLogger) Debugf(f string, a ...interface{}) {
|
|
l.logger.Debug(fmt.Sprintf(f, a...))
|
|
}
|
|
|
|
// Errorf implements badger.Logger
|
|
func (l *SlogLogger) Errorf(f string, a ...interface{}) {
|
|
l.logger.Error(fmt.Sprintf(f, a...))
|
|
}
|
|
|
|
// Infof implements badger.Logger
|
|
func (l *SlogLogger) Infof(f string, a ...interface{}) {
|
|
l.logger.Info(fmt.Sprintf(f, a...))
|
|
}
|
|
|
|
// Warningf implements badger.Logger
|
|
func (l *SlogLogger) Warningf(f string, a ...interface{}) {
|
|
l.logger.Warn(fmt.Sprintf(f, a...))
|
|
}
|
|
|
|
var _ badger.Logger = (*SlogLogger)(nil)
|
|
|
|
func NewBadgerLogger(logger *slog.Logger) badger.Logger {
|
|
return &SlogLogger{
|
|
logger: logger,
|
|
}
|
|
}
|