1package moxvar
2
3import (
4 "errors"
5 "io/fs"
6 "log/slog"
7 "os"
8 "testing"
9)
10
11var skipRegisterLogging = testing.Testing()
12
13// RegisterLogger should be used as parameter to bstore.Options.RegisterLogger.
14//
15// RegisterLogger returns nil when running under test and the database file does
16// not yet exist to reduce lots of unhelpful logging, and returns logger log
17// otherwise.
18func RegisterLogger(path string, log *slog.Logger) *slog.Logger {
19 if !skipRegisterLogging {
20 return log
21 }
22 if _, err := os.Stat(path); err != nil && errors.Is(err, fs.ErrNotExist) {
23 return nil
24 }
25 return log
26}
27