@@ -34,11 +34,14 @@ import (
34
34
"k8s.io/client-go/tools/leaderelection/resourcelock"
35
35
"k8s.io/client-go/util/flowcontrol"
36
36
cliflag "k8s.io/component-base/cli/flag"
37
+ "k8s.io/component-base/logs"
38
+ logsv1 "k8s.io/component-base/logs/api/v1"
37
39
"k8s.io/component-base/term"
38
40
"k8s.io/klog/v2"
39
41
ctrlmetrics "sigs.k8s.io/controller-runtime/pkg/metrics"
40
42
41
43
"github.com/karmada-io/karmada/cmd/scheduler/app/options"
44
+ "github.com/karmada-io/karmada/pkg/features"
42
45
karmadaclientset "github.com/karmada-io/karmada/pkg/generated/clientset/versioned"
43
46
versionmetrics "github.com/karmada-io/karmada/pkg/metrics"
44
47
"github.com/karmada-io/karmada/pkg/scheduler"
@@ -92,7 +95,18 @@ func WithPlugin(name string, factory runtime.PluginFactory) Option {
92
95
93
96
// NewSchedulerCommand creates a *cobra.Command object with default parameters
94
97
func NewSchedulerCommand (ctx context.Context , registryOptions ... Option ) * cobra.Command {
98
+ logConfig := logsv1 .NewLoggingConfiguration ()
99
+ fss := cliflag.NamedFlagSets {}
100
+
101
+ logsFlagSet := fss .FlagSet ("logs" )
102
+ logs .AddFlags (logsFlagSet , logs .SkipLoggingConfigurationFlags ())
103
+ logsv1 .AddFlags (logConfig , logsFlagSet )
104
+ klogflag .Add (logsFlagSet )
105
+
106
+ genericFlagSet := fss .FlagSet ("generic" )
107
+
95
108
opts := options .NewOptions ()
109
+ opts .AddFlags (genericFlagSet )
96
110
97
111
cmd := & cobra.Command {
98
112
Use : names .KarmadaSchedulerComponentName ,
@@ -110,6 +124,13 @@ the most suitable cluster.`,
110
124
}
111
125
return nil
112
126
},
127
+ PersistentPreRunE : func (_ * cobra.Command , _ []string ) error {
128
+ if err := logsv1 .ValidateAndApply (logConfig , features .FeatureGate ); err != nil {
129
+ return err
130
+ }
131
+ logs .InitLogs ()
132
+ return nil
133
+ },
113
134
Args : func (cmd * cobra.Command , args []string ) error {
114
135
for _ , arg := range args {
115
136
if len (arg ) > 0 {
@@ -120,14 +141,6 @@ the most suitable cluster.`,
120
141
},
121
142
}
122
143
123
- fss := cliflag.NamedFlagSets {}
124
-
125
- genericFlagSet := fss .FlagSet ("generic" )
126
- opts .AddFlags (genericFlagSet )
127
-
128
- // Set klog flags
129
- logsFlagSet := fss .FlagSet ("logs" )
130
- klogflag .Add (logsFlagSet )
131
144
cmd .AddCommand (sharedcommand .NewCmdVersion (names .KarmadaSchedulerComponentName ))
132
145
133
146
cmd .Flags ().AddFlagSet (genericFlagSet )
0 commit comments