cmd/ctrld: add "--silent" to disable log output

This commit is contained in:
Cuong Manh Le
2023-05-04 12:31:22 +07:00
committed by Cuong Manh Le
parent e0ae0f8e7b
commit c872a3b3f6
2 changed files with 13 additions and 0 deletions

View File

@@ -101,6 +101,13 @@ func initCLI() {
"v",
`verbose log output, "-v" basic logging, "-vv" debug level logging`,
)
rootCmd.PersistentFlags().BoolVarP(
&silent,
"silent",
"s",
false,
`do not write any log output`,
)
rootCmd.SetHelpCommand(&cobra.Command{Hidden: true})
rootCmd.CompletionOptions.HiddenDefaultCmd = true

View File

@@ -25,6 +25,7 @@ var (
cacheSize int
cfg ctrld.Config
verbose int
silent bool
cdUID string
iface string
ifaceStartStop string
@@ -65,6 +66,8 @@ func initConsoleLogging() {
multi := zerolog.MultiLevelWriter(consoleWriter)
mainLog = mainLog.Output(multi).With().Timestamp().Logger()
switch {
case silent:
zerolog.SetGlobalLevel(zerolog.NoLevel)
case verbose == 1:
zerolog.SetGlobalLevel(zerolog.InfoLevel)
case verbose > 1:
@@ -102,6 +105,9 @@ func initLogging() {
zerolog.SetGlobalLevel(zerolog.NoticeLevel)
logLevel := cfg.Service.LogLevel
switch {
case silent:
zerolog.SetGlobalLevel(zerolog.NoLevel)
return
case verbose == 1:
logLevel = "info"
case verbose > 1: