fixing multilogger so that v is properly nil instead of an empty slice if not specified

This commit is contained in:
2022-01-05 16:16:24 -05:00
parent 0e01306637
commit 4addc44c0f
5 changed files with 85 additions and 18 deletions

View File

@@ -11,14 +11,19 @@ import (
func (l *FileLogger) Setup() {
var err error
var multi io.Writer
l.Logger = log.Default()
l.Logger.SetPrefix(l.Prefix)
l.Logger.SetPrefix(l.Prefix + " ")
if l.writer, err = os.OpenFile(l.Path, appendFlags, logPerm); err != nil {
log.Panicf("could not open log file \"%v\" for writing: %v\n", l.Path, err)
}
// https://stackoverflow.com/a/36719588/733214
multi := io.MultiWriter(os.Stdout, l.writer)
if l.EnableStdOut {
multi = io.MultiWriter(os.Stdout, l.writer)
} else {
multi = l.writer
}
l.Logger.SetOutput(multi)
}
@@ -48,8 +53,9 @@ func (l *FileLogger) DoDebug(d bool) {
// SetPrefix sets the prefix for this FileLogger.
func (l *FileLogger) SetPrefix(prefix string) {
l.Prefix = prefix
l.Logger.SetPrefix(prefix)
l.Prefix = prefix + " "
l.Logger.SetPrefix(prefix + " ")
}
// Alert writes an ALERT-level message to this FileLogger.