0c5429a681
Signed-off-by: Alejandro Mery <amery@jpi.io>
43 lines
893 B
Go
43 lines
893 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"darvaza.org/sidecar/pkg/logger/zerolog"
|
|
"darvaza.org/slog"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
var log = zerolog.New(nil, slog.Error)
|
|
|
|
// fatal is a convenience wrapper for slog.Logger.Fatal().Print()
|
|
func fatal(err error, msg string, args ...any) {
|
|
l := log.Fatal()
|
|
if err != nil {
|
|
l = l.WithField(slog.ErrorFieldName, err)
|
|
}
|
|
if len(args) > 0 {
|
|
msg = fmt.Sprintf(msg, args...)
|
|
}
|
|
l.Print(msg)
|
|
|
|
panic("unreachable")
|
|
}
|
|
|
|
var verbosity int
|
|
|
|
// setVerbosity replaces the global logger using the
|
|
// verbosity level specified via -v flags
|
|
func setVerbosity(_ *cobra.Command, _ []string) {
|
|
desired := int8(slog.Error) + int8(verbosity)
|
|
if desired > 6 {
|
|
desired = 6
|
|
}
|
|
log = zerolog.New(nil, slog.LogLevel(desired))
|
|
}
|
|
|
|
func init() {
|
|
rootCmd.PersistentFlags().CountVarP(&verbosity, "verbosity", "v",
|
|
"increase the verbosity level to Warn, Info or Debug")
|
|
}
|