@@ -34,6 +34,8 @@ import (
34
34
"k8s.io/client-go/rest"
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
cbversion "k8s.io/component-base/version"
39
41
"k8s.io/klog/v2"
@@ -42,6 +44,7 @@ import (
42
44
43
45
"github.com/karmada-io/karmada/cmd/karmada-search/app/options"
44
46
searchscheme "github.com/karmada-io/karmada/pkg/apis/search/scheme"
47
+ "github.com/karmada-io/karmada/pkg/features"
45
48
karmadaclientset "github.com/karmada-io/karmada/pkg/generated/clientset/versioned"
46
49
informerfactory "github.com/karmada-io/karmada/pkg/generated/informers/externalversions"
47
50
generatedopenapi "github.com/karmada-io/karmada/pkg/generated/openapi"
@@ -62,7 +65,17 @@ type Option func(*runtime.Registry)
62
65
63
66
// NewKarmadaSearchCommand creates a *cobra.Command object with default parameters
64
67
func NewKarmadaSearchCommand (ctx context.Context , registryOptions ... Option ) * cobra.Command {
68
+ logConfig := logsv1 .NewLoggingConfiguration ()
69
+ fss := cliflag.NamedFlagSets {}
70
+
71
+ logsFlagSet := fss .FlagSet ("logs" )
72
+ logs .AddFlags (logsFlagSet , logs .SkipLoggingConfigurationFlags ())
73
+ logsv1 .AddFlags (logConfig , logsFlagSet )
74
+ klogflag .Add (logsFlagSet )
75
+
76
+ genericFlagSet := fss .FlagSet ("generic" )
65
77
opts := options .NewOptions ()
78
+ opts .AddFlags (genericFlagSet )
66
79
67
80
cmd := & cobra.Command {
68
81
Use : names .KarmadaSearchComponentName ,
@@ -80,17 +93,15 @@ capabilities such as global search and resource proxy in a multi-cloud environme
80
93
}
81
94
return nil
82
95
},
96
+ PersistentPreRunE : func (_ * cobra.Command , _ []string ) error {
97
+ if err := logsv1 .ValidateAndApply (logConfig , features .FeatureGate ); err != nil {
98
+ return err
99
+ }
100
+ logs .InitLogs ()
101
+ return nil
102
+ },
83
103
}
84
104
85
- fss := cliflag.NamedFlagSets {}
86
-
87
- genericFlagSet := fss .FlagSet ("generic" )
88
- opts .AddFlags (genericFlagSet )
89
-
90
- // Set klog flags
91
- logsFlagSet := fss .FlagSet ("logs" )
92
- klogflag .Add (logsFlagSet )
93
-
94
105
cmd .AddCommand (sharedcommand .NewCmdVersion (names .KarmadaSearchComponentName ))
95
106
cmd .Flags ().AddFlagSet (genericFlagSet )
96
107
cmd .Flags ().AddFlagSet (logsFlagSet )
0 commit comments