From 2b01efc4cc766a28cafc35f0fd3e775ea127e5e6 Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Thu, 6 Feb 2025 17:03:42 +0800 Subject: [PATCH] fix default log file size Signed-off-by: Ryan Leung --- cmd/pd-server/main.go | 3 +-- pkg/mcs/scheduling/server/server.go | 2 +- pkg/mcs/scheduling/server/testutil.go | 2 +- pkg/mcs/tso/server/server.go | 2 +- pkg/utils/logutil/log.go | 4 ++-- server/api/server_test.go | 2 +- server/config/config_test.go | 15 +++++++++++++++ server/testutil.go | 2 +- tests/cluster.go | 2 +- tests/testutil.go | 2 +- tools/pd-api-bench/main.go | 2 +- tools/pd-heartbeat-bench/main.go | 2 +- tools/pd-simulator/main.go | 2 +- 13 files changed, 28 insertions(+), 14 deletions(-) diff --git a/cmd/pd-server/main.go b/cmd/pd-server/main.go index e9abef1fd4a..d45d2f641d2 100644 --- a/cmd/pd-server/main.go +++ b/cmd/pd-server/main.go @@ -209,7 +209,7 @@ func start(cmd *cobra.Command, args []string, services ...string) { // Check the PD version first before running. server.CheckAndGetPDVersion() // New zap logger - err = logutil.SetupLogger(cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) + err = logutil.SetupLogger(&cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) if err == nil { log.ReplaceGlobals(cfg.Logger, cfg.LogProps) } else { @@ -223,7 +223,6 @@ func start(cmd *cobra.Command, args []string, services ...string) { for _, msg := range cfg.WarningMsgs { log.Warn(msg) } - // TODO: Make it configurable if it has big impact on performance. grpcprometheus.EnableHandlingTimeHistogram() diff --git a/pkg/mcs/scheduling/server/server.go b/pkg/mcs/scheduling/server/server.go index 482bc48d2b4..2987df8f817 100644 --- a/pkg/mcs/scheduling/server/server.go +++ b/pkg/mcs/scheduling/server/server.go @@ -597,7 +597,7 @@ func CreateServerWrapper(cmd *cobra.Command, args []string) { } // New zap logger - err = logutil.SetupLogger(cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) + err = logutil.SetupLogger(&cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) if err == nil { log.ReplaceGlobals(cfg.Logger, cfg.LogProps) } else { diff --git a/pkg/mcs/scheduling/server/testutil.go b/pkg/mcs/scheduling/server/testutil.go index 794a1bf520c..6bb1250cbd8 100644 --- a/pkg/mcs/scheduling/server/testutil.go +++ b/pkg/mcs/scheduling/server/testutil.go @@ -31,7 +31,7 @@ import ( // NewTestServer creates a resource manager server for testing. func NewTestServer(ctx context.Context, re *require.Assertions, cfg *config.Config) (*Server, testutil.CleanupFunc, error) { // New zap logger - err := logutil.SetupLogger(cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) + err := logutil.SetupLogger(&cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) re.NoError(err) log.ReplaceGlobals(cfg.Logger, cfg.LogProps) // Flushing any buffered log entries diff --git a/pkg/mcs/tso/server/server.go b/pkg/mcs/tso/server/server.go index ebd0cca8344..32a2c8c69cf 100644 --- a/pkg/mcs/tso/server/server.go +++ b/pkg/mcs/tso/server/server.go @@ -414,7 +414,7 @@ func CreateServerWrapper(cmd *cobra.Command, args []string) { } // New zap logger - err = logutil.SetupLogger(cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) + err = logutil.SetupLogger(&cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) if err == nil { log.ReplaceGlobals(cfg.Logger, cfg.LogProps) } else { diff --git a/pkg/utils/logutil/log.go b/pkg/utils/logutil/log.go index 1620f9e3b70..14da95e19ff 100644 --- a/pkg/utils/logutil/log.go +++ b/pkg/utils/logutil/log.go @@ -72,12 +72,12 @@ func StringToZapLogLevel(level string) zapcore.Level { // SetupLogger setup the logger. func SetupLogger( - logConfig log.Config, + logConfig *log.Config, logger **zap.Logger, logProps **log.ZapProperties, redactInfoLogType RedactInfoLogType, ) error { - lg, p, err := log.InitLogger(&logConfig, zap.AddStacktrace(zapcore.FatalLevel)) + lg, p, err := log.InitLogger(logConfig, zap.AddStacktrace(zapcore.FatalLevel)) if err != nil { return errs.ErrInitLogger.Wrap(err) } diff --git a/server/api/server_test.go b/server/api/server_test.go index 9b99a6c32f8..3e52ffbfd5f 100644 --- a/server/api/server_test.go +++ b/server/api/server_test.go @@ -90,7 +90,7 @@ func mustNewCluster(re *require.Assertions, num int, opts ...func(cfg *config.Co ch := make(chan *server.Server, num) for _, cfg := range cfgs { go func(cfg *config.Config) { - err := logutil.SetupLogger(cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) + err := logutil.SetupLogger(&cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) re.NoError(err) zapLogOnce.Do(func() { log.ReplaceGlobals(cfg.Logger, cfg.LogProps) diff --git a/server/config/config_test.go b/server/config/config_test.go index b035ab22178..19b3bc53030 100644 --- a/server/config/config_test.go +++ b/server/config/config_test.go @@ -166,6 +166,7 @@ leader-schedule-limit = 0 flagSet := pflag.NewFlagSet("test", pflag.ContinueOnError) flagSet.StringP("log-level", "L", "info", "log level: debug, info, warn, error, fatal (default 'info')") + flagSet.StringP("log-file", "", "pd.log", "log file path") flagSet.Parse(nil) cfg := NewConfig() err := cfg.Parse(flagSet) @@ -174,6 +175,8 @@ leader-schedule-limit = 0 re.NoError(err) err = cfg.Adjust(&meta, false) re.NoError(err) + err = logutil.SetupLogger(&cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) + re.NoError(err) // When invalid, use default values. host, err := os.Hostname() @@ -189,6 +192,9 @@ leader-schedule-limit = 0 // When undefined, use default values. re.True(cfg.PreVote) re.Equal("info", cfg.Log.Level) + re.Equal(300, cfg.Log.File.MaxSize) + re.Equal(0, cfg.Log.File.MaxDays) + re.Equal(0, cfg.Log.File.MaxBackups) re.Equal(uint64(0), cfg.Schedule.MaxMergeRegionKeys) re.Equal("http://127.0.0.1:9090", cfg.PDServerCfg.MetricStorage) @@ -252,9 +258,15 @@ tso-update-physical-interval = "15s" cfgData = ` [log] level = "debug" + +[log.file] +max-size = 100 +max-days = 10 +max-backups = 5 ` flagSet = pflag.NewFlagSet("testlog", pflag.ContinueOnError) flagSet.StringP("log-level", "L", "info", "log level: debug, info, warn, error, fatal (default 'info')") + flagSet.StringP("log-file", "", "pd.log", "log file path") flagSet.Parse(nil) cfg = NewConfig() err = cfg.Parse(flagSet) @@ -264,6 +276,9 @@ level = "debug" err = cfg.Adjust(&meta, false) re.NoError(err) re.Equal("debug", cfg.Log.Level) + re.Equal(100, cfg.Log.File.MaxSize) + re.Equal(10, cfg.Log.File.MaxDays) + re.Equal(5, cfg.Log.File.MaxBackups) } func TestMigrateFlags(t *testing.T) { diff --git a/server/testutil.go b/server/testutil.go index d8bb9bb1cd9..cacaa233138 100644 --- a/server/testutil.go +++ b/server/testutil.go @@ -86,7 +86,7 @@ func NewTestSingleConfig(c *assertutil.Checker) *config.Config { cfg.TickInterval = typeutil.NewDuration(100 * time.Millisecond) cfg.ElectionInterval = typeutil.NewDuration(3 * time.Second) cfg.LeaderPriorityCheckInterval = typeutil.NewDuration(100 * time.Millisecond) - err := logutil.SetupLogger(cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) + err := logutil.SetupLogger(&cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) c.AssertNil(err) zapLogOnce.Do(func() { log.ReplaceGlobals(cfg.Logger, cfg.LogProps) diff --git a/tests/cluster.go b/tests/cluster.go index 66d8ce60e7b..01bbf729ab1 100644 --- a/tests/cluster.go +++ b/tests/cluster.go @@ -82,7 +82,7 @@ var zapLogOnce sync.Once func NewTestServer(ctx context.Context, cfg *config.Config, services []string) (*TestServer, error) { // disable the heartbeat async runner in test cfg.Schedule.EnableHeartbeatConcurrentRunner = false - err := logutil.SetupLogger(cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) + err := logutil.SetupLogger(&cfg.Log, &cfg.Logger, &cfg.LogProps, cfg.Security.RedactInfoLog) if err != nil { return nil, err } diff --git a/tests/testutil.go b/tests/testutil.go index 406e09345b9..7b00193cd29 100644 --- a/tests/testutil.go +++ b/tests/testutil.go @@ -97,7 +97,7 @@ var once sync.Once func InitLogger(logConfig log.Config, logger *zap.Logger, logProps *log.ZapProperties, redactInfoLog logutil.RedactInfoLogType) (err error) { once.Do(func() { // Setup the logger. - err = logutil.SetupLogger(logConfig, &logger, &logProps, redactInfoLog) + err = logutil.SetupLogger(&logConfig, &logger, &logProps, redactInfoLog) if err != nil { return } diff --git a/tools/pd-api-bench/main.go b/tools/pd-api-bench/main.go index 0d9235d5055..37568bf041a 100644 --- a/tools/pd-api-bench/main.go +++ b/tools/pd-api-bench/main.go @@ -96,7 +96,7 @@ func main() { default: log.Fatal("parse cmd flags error", zap.Error(err)) } - err = logutil.SetupLogger(cfg.Log, &cfg.Logger, &cfg.LogProps, logutil.RedactInfoLogOFF) + err = logutil.SetupLogger(&cfg.Log, &cfg.Logger, &cfg.LogProps, logutil.RedactInfoLogOFF) if err == nil { log.ReplaceGlobals(cfg.Logger, cfg.LogProps) } else { diff --git a/tools/pd-heartbeat-bench/main.go b/tools/pd-heartbeat-bench/main.go index 60b1db6734d..d74a693ea3d 100644 --- a/tools/pd-heartbeat-bench/main.go +++ b/tools/pd-heartbeat-bench/main.go @@ -479,7 +479,7 @@ func main() { } // New zap logger - err = logutil.SetupLogger(cfg.Log, &cfg.Logger, &cfg.LogProps, logutil.RedactInfoLogOFF) + err = logutil.SetupLogger(&cfg.Log, &cfg.Logger, &cfg.LogProps, logutil.RedactInfoLogOFF) if err == nil { log.ReplaceGlobals(cfg.Logger, cfg.LogProps) } else { diff --git a/tools/pd-simulator/main.go b/tools/pd-simulator/main.go index 59a58f0a00b..a8381e38ef9 100644 --- a/tools/pd-simulator/main.go +++ b/tools/pd-simulator/main.go @@ -114,7 +114,7 @@ func run(simCase string, simConfig *sc.SimConfig) { // NewSingleServer creates a pd server for simulator. func NewSingleServer(ctx context.Context, simConfig *sc.SimConfig) (*server.Server, testutil.CleanupFunc) { - err := logutil.SetupLogger(simConfig.ServerConfig.Log, &simConfig.ServerConfig.Logger, &simConfig.ServerConfig.LogProps, simConfig.ServerConfig.Security.RedactInfoLog) + err := logutil.SetupLogger(&simConfig.ServerConfig.Log, &simConfig.ServerConfig.Logger, &simConfig.ServerConfig.LogProps, simConfig.ServerConfig.Security.RedactInfoLog) if err == nil { log.ReplaceGlobals(simConfig.ServerConfig.Logger, simConfig.ServerConfig.LogProps) } else {