Skip to content

Commit c1eb992

Browse files
authored
Merge pull request #646 from ahrtr/logger_bbolt_20231207
Add log messages
2 parents de6c42b + 4c7075e commit c1eb992

File tree

3 files changed

+180
-42
lines changed

3 files changed

+180
-42
lines changed

bucket.go

+54-6
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,16 @@ func (b *Bucket) openBucket(value []byte) *Bucket {
145145
// CreateBucket creates a new bucket at the given key and returns the new bucket.
146146
// Returns an error if the key already exists, if the bucket name is blank, or if the bucket name is too long.
147147
// The bucket instance is only valid for the lifetime of the transaction.
148-
func (b *Bucket) CreateBucket(key []byte) (*Bucket, error) {
148+
func (b *Bucket) CreateBucket(key []byte) (rb *Bucket, err error) {
149+
lg := b.tx.db.Logger()
150+
lg.Debugf("Creating bucket %q", string(key))
151+
defer func() {
152+
if err != nil {
153+
lg.Errorf("Creating bucket %q failed: %v", string(key), err)
154+
} else {
155+
lg.Debugf("Creating bucket %q successfully", string(key))
156+
}
157+
}()
149158
if b.tx.db == nil {
150159
return nil, errors.ErrTxClosed
151160
} else if !b.tx.writable {
@@ -192,7 +201,17 @@ func (b *Bucket) CreateBucket(key []byte) (*Bucket, error) {
192201
// CreateBucketIfNotExists creates a new bucket if it doesn't already exist and returns a reference to it.
193202
// Returns an error if the bucket name is blank, or if the bucket name is too long.
194203
// The bucket instance is only valid for the lifetime of the transaction.
195-
func (b *Bucket) CreateBucketIfNotExists(key []byte) (*Bucket, error) {
204+
func (b *Bucket) CreateBucketIfNotExists(key []byte) (rb *Bucket, err error) {
205+
lg := b.tx.db.Logger()
206+
lg.Debugf("Creating bucket if not exist %q", string(key))
207+
defer func() {
208+
if err != nil {
209+
lg.Errorf("Creating bucket if not exist %q failed: %v", string(key), err)
210+
} else {
211+
lg.Debugf("Creating bucket if not exist %q successfully", string(key))
212+
}
213+
}()
214+
196215
if b.tx.db == nil {
197216
return nil, errors.ErrTxClosed
198217
} else if !b.tx.writable {
@@ -249,7 +268,17 @@ func (b *Bucket) CreateBucketIfNotExists(key []byte) (*Bucket, error) {
249268

250269
// DeleteBucket deletes a bucket at the given key.
251270
// Returns an error if the bucket does not exist, or if the key represents a non-bucket value.
252-
func (b *Bucket) DeleteBucket(key []byte) error {
271+
func (b *Bucket) DeleteBucket(key []byte) (err error) {
272+
lg := b.tx.db.Logger()
273+
lg.Debugf("Deleting bucket %q", string(key))
274+
defer func() {
275+
if err != nil {
276+
lg.Errorf("Deleting bucket %q failed: %v", string(key), err)
277+
} else {
278+
lg.Debugf("Deleting bucket %q successfully", string(key))
279+
}
280+
}()
281+
253282
if b.tx.db == nil {
254283
return errors.ErrTxClosed
255284
} else if !b.Writable() {
@@ -269,7 +298,7 @@ func (b *Bucket) DeleteBucket(key []byte) error {
269298

270299
// Recursively delete all child buckets.
271300
child := b.Bucket(key)
272-
err := child.ForEachBucket(func(k []byte) error {
301+
err = child.ForEachBucket(func(k []byte) error {
273302
if err := child.DeleteBucket(k); err != nil {
274303
return fmt.Errorf("delete bucket: %s", err)
275304
}
@@ -316,7 +345,16 @@ func (b *Bucket) Get(key []byte) []byte {
316345
// If the key exist then its previous value will be overwritten.
317346
// Supplied value must remain valid for the life of the transaction.
318347
// Returns an error if the bucket was created from a read-only transaction, if the key is blank, if the key is too large, or if the value is too large.
319-
func (b *Bucket) Put(key []byte, value []byte) error {
348+
func (b *Bucket) Put(key []byte, value []byte) (err error) {
349+
lg := b.tx.db.Logger()
350+
lg.Debugf("Putting key %q", string(key))
351+
defer func() {
352+
if err != nil {
353+
lg.Errorf("Putting key %q failed: %v", string(key), err)
354+
} else {
355+
lg.Debugf("Putting key %q successfully", string(key))
356+
}
357+
}()
320358
if b.tx.db == nil {
321359
return errors.ErrTxClosed
322360
} else if !b.Writable() {
@@ -353,7 +391,17 @@ func (b *Bucket) Put(key []byte, value []byte) error {
353391
// Delete removes a key from the bucket.
354392
// If the key does not exist then nothing is done and a nil error is returned.
355393
// Returns an error if the bucket was created from a read-only transaction.
356-
func (b *Bucket) Delete(key []byte) error {
394+
func (b *Bucket) Delete(key []byte) (err error) {
395+
lg := b.tx.db.Logger()
396+
lg.Debugf("Deleting key %q", string(key))
397+
defer func() {
398+
if err != nil {
399+
lg.Errorf("Deleting key %q failed: %v", string(key), err)
400+
} else {
401+
lg.Debugf("Deleting key %q successfully", string(key))
402+
}
403+
}()
404+
357405
if b.tx.db == nil {
358406
return errors.ErrTxClosed
359407
} else if !b.Writable() {

0 commit comments

Comments
 (0)