From 0b81618b76cc7c32b17bfd6d54d9c7141ec60348 Mon Sep 17 00:00:00 2001 From: Manish Devgan Date: Mon, 27 Jan 2020 19:13:04 +0530 Subject: [PATCH] moves logger to y --- options.go | 40 +++++++++++++++++++++++++++--- txn.go | 4 +-- logger.go => y/logger.go | 35 +------------------------- logger_test.go => y/logger_test.go | 2 +- y/watermark.go | 8 +++--- 5 files changed, 44 insertions(+), 45 deletions(-) rename logger.go => y/logger.go (61%) rename logger_test.go => y/logger_test.go (99%) diff --git a/options.go b/options.go index bda693576..879536df2 100644 --- a/options.go +++ b/options.go @@ -21,6 +21,7 @@ import ( "github.com/dgraph-io/badger/v2/options" "github.com/dgraph-io/badger/v2/table" + "github.com/dgraph-io/badger/v2/y" ) // Note: If you add a new option X make sure you also add a WithX method on Options. @@ -46,7 +47,7 @@ type Options struct { NumVersionsToKeep int ReadOnly bool Truncate bool - Logger Logger + Logger y.Logger Compression options.CompressionType InMemory bool @@ -144,7 +145,7 @@ func DefaultOptions(path string) Options { ValueLogMaxEntries: 1000000, ValueThreshold: 32, Truncate: false, - Logger: defaultLogger, + Logger: y.DefaultLogger(), LogRotatesToFlush: 2, EncryptionKey: []byte{}, EncryptionKeyRotationDuration: 10 * 24 * time.Hour, // Default 10 days. @@ -276,7 +277,7 @@ func (opt Options) WithTruncate(val bool) Options { // Logger provides a way to configure what logger each value of badger.DB uses. // // The default value of Logger writes to stderr using the log package from the Go standard library. -func (opt Options) WithLogger(val Logger) Options { +func (opt Options) WithLogger(val y.Logger) Options { opt.Logger = val return opt } @@ -562,3 +563,36 @@ func (opt Options) WithZSTDCompressionLevel(cLevel int) Options { opt.ZSTDCompressionLevel = cLevel return opt } + +// Errorf logs an ERROR log message to the logger specified in opts or to the +// global logger if no logger is specified in opts. +func (opt *Options) Errorf(format string, v ...interface{}) { + if opt.Logger == nil { + return + } + opt.Logger.Errorf(format, v...) +} + +// Infof logs an INFO message to the logger specified in opts. +func (opt *Options) Infof(format string, v ...interface{}) { + if opt.Logger == nil { + return + } + opt.Logger.Infof(format, v...) +} + +// Warningf logs a WARNING message to the logger specified in opts. +func (opt *Options) Warningf(format string, v ...interface{}) { + if opt.Logger == nil { + return + } + opt.Logger.Warningf(format, v...) +} + +// Debugf logs a DEBUG message to the logger specified in opts. +func (opt *Options) Debugf(format string, v ...interface{}) { + if opt.Logger == nil { + return + } + opt.Logger.Debugf(format, v...) +} diff --git a/txn.go b/txn.go index 72d314452..a66016317 100644 --- a/txn.go +++ b/txn.go @@ -70,8 +70,8 @@ func newOracle(opt Options) *oracle { txnMark: &y.WaterMark{Name: "badger.TxnTimestamp"}, closer: y.NewCloser(2), } - orc.readMark.Init(orc.closer, opt) - orc.txnMark.Init(orc.closer, opt) + orc.readMark.Init(orc.closer, opt.Logger) + orc.txnMark.Init(orc.closer, opt.Logger) return orc } diff --git a/logger.go b/y/logger.go similarity index 61% rename from logger.go rename to y/logger.go index 9066d2912..fd21f2415 100644 --- a/logger.go +++ b/y/logger.go @@ -14,7 +14,7 @@ * limitations under the License. */ -package badger +package y import ( "log" @@ -29,39 +29,6 @@ type Logger interface { Debugf(string, ...interface{}) } -// Errorf logs an ERROR log message to the logger specified in opts or to the -// global logger if no logger is specified in opts. -func (opt *Options) Errorf(format string, v ...interface{}) { - if opt.Logger == nil { - return - } - opt.Logger.Errorf(format, v...) -} - -// Infof logs an INFO message to the logger specified in opts. -func (opt *Options) Infof(format string, v ...interface{}) { - if opt.Logger == nil { - return - } - opt.Logger.Infof(format, v...) -} - -// Warningf logs a WARNING message to the logger specified in opts. -func (opt *Options) Warningf(format string, v ...interface{}) { - if opt.Logger == nil { - return - } - opt.Logger.Warningf(format, v...) -} - -// Debugf logs a DEBUG message to the logger specified in opts. -func (opt *Options) Debugf(format string, v ...interface{}) { - if opt.Logger == nil { - return - } - opt.Logger.Debugf(format, v...) -} - type defaultLog struct { *log.Logger } diff --git a/logger_test.go b/y/logger_test.go similarity index 99% rename from logger_test.go rename to y/logger_test.go index 8a4a45aae..8c3aa3f79 100644 --- a/logger_test.go +++ b/y/logger_test.go @@ -14,7 +14,7 @@ * limitations under the License. */ -package badger +package y import ( "fmt" diff --git a/y/watermark.go b/y/watermark.go index 95c2e580b..eea1f69d6 100644 --- a/y/watermark.go +++ b/y/watermark.go @@ -20,8 +20,6 @@ import ( "container/heap" "context" "sync/atomic" - - badger "github.com/dgraph-io/badger/v2" ) type uint64Heap []uint64 @@ -64,13 +62,13 @@ type WaterMark struct { lastIndex uint64 Name string markCh chan mark - logger badger.Logger + logger Logger } // Init initializes a WaterMark struct. MUST be called before using it. -func (w *WaterMark) Init(closer *Closer, opt badger.Options) { +func (w *WaterMark) Init(closer *Closer, logger Logger) { w.markCh = make(chan mark, 100) - w.logger = opt.Logger + w.logger = logger go w.process(closer) }