package cmd import ( "io" "log/slog" "os" "github.com/AdguardTeam/golibs/logutil/slogutil" ) // newBaseLogger constructs a base logger based on the command-line options. // opts must not be nil. func newBaseLogger(opts *options) (baseLogger *slog.Logger) { var output io.Writer switch opts.confFile { case "stdout": output = os.Stdout case "stderr": output = os.Stderr case "syslog": // TODO(a.garipov): Add a syslog handler to golibs. default: // TODO(a.garipov): Use the path. } lvl := slog.LevelInfo if opts.verbose { lvl = slog.LevelDebug } return slogutil.New(&slogutil.Config{ Output: output, // TODO(a.garipov): Get from config? Format: slogutil.FormatText, Level: lvl, // TODO(a.garipov): Get from config. AddTimestamp: true, }) }