diff --git a/cmd/pd-server/main.go b/cmd/pd-server/main.go index ab3cfdbb383..39b1119222f 100644 --- a/cmd/pd-server/main.go +++ b/cmd/pd-server/main.go @@ -132,7 +132,7 @@ func addFlags(cmd *cobra.Command) { cmd.Flags().StringP("initial-cluster", "", "", "initial cluster configuration for bootstrapping, e,g. pd=http://127.0.0.1:2380") cmd.Flags().StringP("join", "", "", "join to an existing cluster (usage: cluster's '${advertise-client-urls}'") cmd.Flags().StringP("metrics-addr", "", "", "prometheus pushgateway address, leaves it empty will disable prometheus push") - cmd.Flags().StringP("log-level", "L", "info", "log level: debug, info, warn, error, fatal (default 'info')") + cmd.Flags().StringP("log-level", "L", "", "log level: debug, info, warn, error, fatal (default 'info')") cmd.Flags().StringP("log-file", "", "", "log file path") cmd.Flags().StringP("cacert", "", "", "path of file that contains list of trusted TLS CAs") cmd.Flags().StringP("cert", "", "", "path of file that contains X509 certificate in PEM format") diff --git a/pkg/mcs/resource_manager/server/config.go b/pkg/mcs/resource_manager/server/config.go index 2c45ce5c355..4db55c96e4e 100644 --- a/pkg/mcs/resource_manager/server/config.go +++ b/pkg/mcs/resource_manager/server/config.go @@ -230,10 +230,6 @@ func (c *Config) Adjust(meta *toml.MetaData) error { c.adjustLog(configMetaData.Child("log")) c.Security.Encryption.Adjust() - if len(c.Log.Format) == 0 { - c.Log.Format = utils.DefaultLogFormat - } - c.Controller.Adjust(configMetaData.Child("controller")) configutil.AdjustInt64(&c.LeaderLease, utils.DefaultLeaderLease) @@ -244,6 +240,8 @@ func (c *Config) adjustLog(meta *configutil.ConfigMetaData) { if !meta.IsDefined("disable-error-verbose") { c.Log.DisableErrorVerbose = utils.DefaultDisableErrorVerbose } + configutil.AdjustString(&c.Log.Format, utils.DefaultLogFormat) + configutil.AdjustString(&c.Log.Level, utils.DefaultLogLevel) } // GetTLSConfig returns the TLS config. diff --git a/pkg/mcs/tso/server/config.go b/pkg/mcs/tso/server/config.go index aedb7ebc1c0..ab9ca4aa9d0 100644 --- a/pkg/mcs/tso/server/config.go +++ b/pkg/mcs/tso/server/config.go @@ -226,10 +226,6 @@ func (c *Config) Adjust(meta *toml.MetaData, reloading bool) error { c.adjustLog(configMetaData.Child("log")) c.Security.Encryption.Adjust() - if len(c.Log.Format) == 0 { - c.Log.Format = utils.DefaultLogFormat - } - return nil } @@ -237,6 +233,8 @@ func (c *Config) adjustLog(meta *configutil.ConfigMetaData) { if !meta.IsDefined("disable-error-verbose") { c.Log.DisableErrorVerbose = utils.DefaultDisableErrorVerbose } + configutil.AdjustString(&c.Log.Format, utils.DefaultLogFormat) + configutil.AdjustString(&c.Log.Level, utils.DefaultLogLevel) } // Validate is used to validate if some configurations are right. diff --git a/pkg/mcs/utils/constant.go b/pkg/mcs/utils/constant.go index aa81425bc9f..c85c5d43e51 100644 --- a/pkg/mcs/utils/constant.go +++ b/pkg/mcs/utils/constant.go @@ -28,6 +28,8 @@ const ( DefaultHTTPGracefulShutdownTimeout = 5 * time.Second // DefaultLogFormat is the default log format DefaultLogFormat = "text" + // DefaultLogLevel is the default log level + DefaultLogLevel = "info" // DefaultDisableErrorVerbose is the default value of DisableErrorVerbose DefaultDisableErrorVerbose = true // DefaultLeaderLease is the default value of LeaderLease diff --git a/server/config/config.go b/server/config/config.go index e7589dfd3f0..9f90d028b56 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -224,6 +224,7 @@ const ( minTSOUpdatePhysicalInterval = 1 * time.Millisecond defaultLogFormat = "text" + defaultLogLevel = "info" defaultMaxMovableHotPeerSize = int64(512) @@ -497,10 +498,6 @@ func (c *Config) Adjust(meta *toml.MetaData, reloading bool) error { c.Security.Encryption.Adjust() - if len(c.Log.Format) == 0 { - c.Log.Format = defaultLogFormat - } - c.Controller.Adjust(configMetaData.Child("controller")) return nil @@ -510,6 +507,8 @@ func (c *Config) adjustLog(meta *configutil.ConfigMetaData) { if !meta.IsDefined("disable-error-verbose") { c.Log.DisableErrorVerbose = defaultDisableErrorVerbose } + configutil.AdjustString(&c.Log.Format, defaultLogFormat) + configutil.AdjustString(&c.Log.Level, defaultLogLevel) } // Clone returns a cloned configuration. diff --git a/server/config/config_test.go b/server/config/config_test.go index b8025a396b8..f77038ad4af 100644 --- a/server/config/config_test.go +++ b/server/config/config_test.go @@ -244,6 +244,22 @@ tso-update-physical-interval = "15s" re.NoError(err) re.Equal(maxTSOUpdatePhysicalInterval, cfg.TSOUpdatePhysicalInterval.Duration) + + cfgData = ` +[log] +level = "debug" +` + flagSet = pflag.NewFlagSet("testlog", pflag.ContinueOnError) + flagSet.StringP("log-level", "L", "info", "log level: debug, info, warn, error, fatal (default 'info')") + flagSet.Parse(nil) + cfg = NewConfig() + err = cfg.Parse(flagSet) + re.NoError(err) + meta, err = toml.Decode(cfgData, &cfg) + re.NoError(err) + err = cfg.Adjust(&meta, false) + re.NoError(err) + re.Equal("debug", cfg.Log.Level) } func TestMigrateFlags(t *testing.T) {