Worker: better logging configuration

Always show startup notification at INFO level, regardless of configured
level. Replace `-verbose` with `-quiet`, add `-trace`.
This commit is contained in:
Sybren A. Stüvel 2022-03-03 11:32:57 +01:00
parent 954babd914
commit 20fd3228ba

View File

@ -49,8 +49,9 @@ var (
var cliArgs struct { var cliArgs struct {
version bool version bool
verbose bool
debug bool quiet, debug, trace bool
managerURL *url.URL managerURL *url.URL
manager string manager string
register bool register bool
@ -72,6 +73,7 @@ func main() {
Str("ARCH", runtime.GOARCH). Str("ARCH", runtime.GOARCH).
Int("pid", os.Getpid()). Int("pid", os.Getpid()).
Msgf("starting %v Worker", appinfo.ApplicationName) Msgf("starting %v Worker", appinfo.ApplicationName)
configLogLevel()
configWrangler := worker.NewConfigWrangler() configWrangler := worker.NewConfigWrangler()
@ -146,8 +148,9 @@ func shutdown(signum os.Signal) {
func parseCliArgs() { func parseCliArgs() {
flag.BoolVar(&cliArgs.version, "version", false, "Shows the application version, then exits.") flag.BoolVar(&cliArgs.version, "version", false, "Shows the application version, then exits.")
flag.BoolVar(&cliArgs.verbose, "verbose", false, "Enable info-level logging.") flag.BoolVar(&cliArgs.quiet, "quiet", false, "Only log warning-level and worse.")
flag.BoolVar(&cliArgs.debug, "debug", false, "Enable debug-level logging.") flag.BoolVar(&cliArgs.debug, "debug", false, "Enable debug-level logging.")
flag.BoolVar(&cliArgs.trace, "trace", false, "Enable trace-level logging.")
flag.StringVar(&cliArgs.manager, "manager", "", "URL of the Flamenco Manager.") flag.StringVar(&cliArgs.manager, "manager", "", "URL of the Flamenco Manager.")
flag.BoolVar(&cliArgs.register, "register", false, "(Re-)register at the Manager.") flag.BoolVar(&cliArgs.register, "register", false, "(Re-)register at the Manager.")
@ -163,6 +166,21 @@ func parseCliArgs() {
} }
} }
func configLogLevel() {
var logLevel zerolog.Level
switch {
case cliArgs.trace:
logLevel = zerolog.TraceLevel
case cliArgs.debug:
logLevel = zerolog.DebugLevel
case cliArgs.quiet:
logLevel = zerolog.WarnLevel
default:
logLevel = zerolog.InfoLevel
}
zerolog.SetGlobalLevel(logLevel)
}
func upstreamBufferOrDie(client worker.FlamencoClient, timeService clock.Clock) *worker.UpstreamBufferDB { func upstreamBufferOrDie(client worker.FlamencoClient, timeService clock.Clock) *worker.UpstreamBufferDB {
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel() defer cancel()