From 7aa1b0e0a794bf7d28b56ddd921d9f9453076e61 Mon Sep 17 00:00:00 2001 From: TorisutanKholwes Date: Mon, 16 Feb 2026 12:39:56 +0100 Subject: [PATCH] Require 'level' flag for daemon log control and update log level options --- core/commoncmd/daemon_log.go | 2 ++ core/commoncmd/flags.go | 2 +- daemon/daemonapi/post_daemon_log_control.go | 9 +++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/core/commoncmd/daemon_log.go b/core/commoncmd/daemon_log.go index 13337407d..97fffed5b 100644 --- a/core/commoncmd/daemon_log.go +++ b/core/commoncmd/daemon_log.go @@ -30,6 +30,8 @@ func NewCmdDaemonLog() *cobra.Command { flags := cmd.Flags() FlagNodeSelector(flags, &options.NodeSelector) FlagDaemonLogLevel(flags, &options.Level) + _ = cmd.MarkFlagRequired("level") + return cmd } diff --git a/core/commoncmd/flags.go b/core/commoncmd/flags.go index ed6adf083..5c162c592 100644 --- a/core/commoncmd/flags.go +++ b/core/commoncmd/flags.go @@ -121,7 +121,7 @@ func FlagDaemonListenerName(flags *pflag.FlagSet, p *string) { } func FlagDaemonLogLevel(flags *pflag.FlagSet, p *string) { - flags.StringVar(p, "level", "", "trace, debug, info, warn, error, fatal, panic") + flags.StringVar(p, "level", "", "trace, debug, info, warn, error, fatal, panic, none") } func FlagDepth(flags *pflag.FlagSet, p *int) { diff --git a/daemon/daemonapi/post_daemon_log_control.go b/daemon/daemonapi/post_daemon_log_control.go index 99d306333..3207d32e2 100644 --- a/daemon/daemonapi/post_daemon_log_control.go +++ b/daemon/daemonapi/post_daemon_log_control.go @@ -29,8 +29,13 @@ func (a *DaemonAPI) PostDaemonLogControl(ctx echo.Context, nodename string) erro func (a *DaemonAPI) postLocalDaemonLogControl(ctx echo.Context, payload api.LogControl) error { var level string - if payload.Level != "none" { - level = string(payload.Level) + switch payload.Level { + case "": + return JSONProblemf(ctx, http.StatusBadRequest, "Invalid body", "missing 'level' field") + case "none": + // NoLevel + default: + level = payload.Level } newLevel, err := zerolog.ParseLevel(level) if err != nil {