From b202a6a106849d86dda8d5fef69a83ca75c41cda Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Fri, 2 Jan 2026 19:23:22 +0545 Subject: [PATCH] fix: don't error out on --help flag Example: .bin/incident-commander serve --help Usage of logger: --color Print logs using color (default true) --json-logs Print logs in json format to stderr -v, --log-level count Increase logging level --log-to-stderr Log to stderr instead of stdout --report-caller Report log caller info error parsing flags: pflag: help requested Usage: incident-commander serve [flags] --- go.mod | 2 +- go.sum | 2 ++ logger/default.go | 9 +++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 24ce35a..c049324 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/samber/oops v1.17.0 github.com/shirou/gopsutil/v3 v3.24.5 github.com/sirupsen/logrus v1.9.3 - github.com/spf13/pflag v1.0.6 + github.com/spf13/pflag v1.0.10 github.com/ulikunitz/xz v0.5.12 github.com/vadimi/go-http-ntlm v1.0.3 github.com/vadimi/go-http-ntlm/v2 v2.5.0 diff --git a/go.sum b/go.sum index ab86ce2..dc4f5ad 100644 --- a/go.sum +++ b/go.sum @@ -108,6 +108,8 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= diff --git a/logger/default.go b/logger/default.go index 79d8728..e961b54 100644 --- a/logger/default.go +++ b/logger/default.go @@ -1,14 +1,16 @@ package logger import ( + "errors" "fmt" "io" "os" "regexp" "strings" - "github.com/flanksource/commons/properties" "github.com/spf13/pflag" + + "github.com/flanksource/commons/properties" ) var currentLogger Logger @@ -33,11 +35,14 @@ func (f *flagSet) bindFlags(flags *pflag.FlagSet) { func (f *flagSet) Parse() error { logFlagset := pflag.NewFlagSet("logger", pflag.ContinueOnError) - logFlagset.ParseErrorsWhitelist = pflag.ParseErrorsWhitelist{UnknownFlags: true} + logFlagset.ParseErrorsAllowlist = pflag.ParseErrorsAllowlist{UnknownFlags: true} // standalone parsing of flags to ensure we always have the correct values f.bindFlags(logFlagset) if err := logFlagset.Parse(os.Args[1:]); err != nil { + if errors.Is(err, pflag.ErrHelp) { + return nil + } return err }