diff --git a/other/zerolog.go b/other/zerolog.go index 76ed0c9..12adec1 100644 --- a/other/zerolog.go +++ b/other/zerolog.go @@ -8,8 +8,6 @@ import ( "github.com/rs/zerolog" "github.com/rs/zerolog/log" - - "git.mstar.dev/mstar/goutils/logrotate" ) var cliFlagLogLevel = "info" @@ -30,13 +28,12 @@ func SetupFlags() { ) } -// If logfileName != nil, that file will be used for writing logs to. -// Additionally, this function will then return another function -// for rotating the log file -func ConfigureLogging(logfileName *string) func() error { - rotateFunc := configOutputs(logfileName) +// Configure logging. Utilises the flags setup in [SetupFlags]. +// If logWriter is not nil, will also write logs, as json objects, +// to the given writer +func ConfigureLogging(logWriter io.Writer) { + configOutputs(logWriter) configLevel() - return rotateFunc } func configLevel() { @@ -59,20 +56,14 @@ func configLevel() { log.Info().Str("new-level", cliFlagLogLevel).Msg("New logging level set") } -func configOutputs(logfileName *string) (rotateLogs func() error) { - rotateLogs = func() error { return nil } - extraLogWriters := []io.Writer{} - if logfileName != nil { - logfile, err := logrotate.New(*logfileName) - if err != nil { - log.Fatal().Err(err).Msg("Failed to open log file") - } - extraLogWriters = append(extraLogWriters, logfile) - rotateLogs = logfile.Rotate +func configOutputs(logWriter io.Writer) { + console := zerolog.ConsoleWriter{Out: os.Stderr} + extraLogWriters := []io.Writer{console} + if logWriter != nil { + extraLogWriters = append(extraLogWriters, logWriter) } if !cliFlagLogJson { - console := zerolog.ConsoleWriter{Out: os.Stderr} - log.Logger = zerolog.New(zerolog.MultiLevelWriter(append([]io.Writer{console}, extraLogWriters...)...)). + log.Logger = zerolog.New(zerolog.MultiLevelWriter(extraLogWriters...)). With(). Timestamp(). Logger()