node/db: use provided logger for badgerDb

This commit is contained in:
tbjump 2023-07-05 22:53:50 +00:00 committed by tbjump
parent 36fc45d87b
commit fe09eb5099
1 changed files with 24 additions and 1 deletions

View File

@ -1,6 +1,7 @@
package db
import (
"fmt"
"os"
"path"
@ -8,8 +9,28 @@ import (
"go.uber.org/zap"
)
type badgerZapLogger struct {
*zap.Logger
}
func (l badgerZapLogger) Errorf(f string, v ...interface{}) {
l.Error(fmt.Sprintf(f, v...))
}
func (l badgerZapLogger) Warningf(f string, v ...interface{}) {
l.Warn(fmt.Sprintf(f, v...))
}
func (l badgerZapLogger) Infof(f string, v ...interface{}) {
l.Info(fmt.Sprintf(f, v...))
}
func (l badgerZapLogger) Debugf(f string, v ...interface{}) {
l.Debug(fmt.Sprintf(f, v...))
}
func OpenDb(logger *zap.Logger, dataDir *string) *Database {
var options badger.Options
options := badger.DefaultOptions(dbPath)
if dataDir != nil {
dbPath := path.Join(*dataDir, "db")
@ -22,6 +43,8 @@ func OpenDb(logger *zap.Logger, dataDir *string) *Database {
options = badger.DefaultOptions("").WithInMemory(true)
}
options = options.WithLogger(badgerZapLogger{logger})
db, err := badger.Open(options)
if err != nil {
logger.Fatal("failed to open database", zap.Error(err))