specify logger for bbolt

Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
This commit is contained in:
Benjamin Wang 2024-01-12 16:38:18 +00:00
parent 8b9e1799ad
commit cfbf672b3c

View File

@ -180,6 +180,7 @@ func newBackend(bcfg BackendConfig) *backend {
bopts.NoSync = bcfg.UnsafeNoFsync
bopts.NoGrowSync = bcfg.UnsafeNoFsync
bopts.Mlock = bcfg.Mlock
bopts.Logger = newBoltLoggerZap(bcfg)
db, err := bolt.Open(bcfg.Path, 0600, bopts)
if err != nil {
@ -659,3 +660,20 @@ func (s *snapshot) Close() error {
<-s.donec
return s.Tx.Rollback()
}
func newBoltLoggerZap(bcfg BackendConfig) bolt.Logger {
lg := bcfg.Logger.Named("bbolt")
return &zapBoltLogger{lg.WithOptions(zap.AddCallerSkip(1)).Sugar()}
}
type zapBoltLogger struct {
*zap.SugaredLogger
}
func (zl *zapBoltLogger) Warning(args ...any) {
zl.SugaredLogger.Warn(args...)
}
func (zl *zapBoltLogger) Warningf(format string, args ...any) {
zl.SugaredLogger.Warnf(format, args...)
}