@@ -29,13 +29,16 @@ import (
29
29
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
30
30
cgrecord "k8s.io/client-go/tools/record"
31
31
"k8s.io/component-base/version"
32
- "k8s.io/klog/v2/klogr "
32
+ "k8s.io/klog/v2"
33
33
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
34
34
bootstrapv1 "sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1beta1"
35
35
"sigs.k8s.io/cluster-api/util/record"
36
36
ctrl "sigs.k8s.io/controller-runtime"
37
37
"sigs.k8s.io/controller-runtime/pkg/controller"
38
38
39
+ "k8s.io/component-base/logs"
40
+ logsv1 "k8s.io/component-base/logs/api/v1"
41
+
39
42
infrav1alpha3 "sigs.k8s.io/cluster-api-provider-packet/api/v1alpha3"
40
43
infrav1beta1 "sigs.k8s.io/cluster-api-provider-packet/api/v1beta1"
41
44
"sigs.k8s.io/cluster-api-provider-packet/controllers"
@@ -44,8 +47,9 @@ import (
44
47
)
45
48
46
49
var (
47
- scheme = runtime .NewScheme ()
48
- setupLog = ctrl .Log .WithName ("setup" )
50
+ scheme = runtime .NewScheme ()
51
+ logOptions = logs .NewOptions ()
52
+ setupLog = ctrl .Log .WithName ("setup" )
49
53
)
50
54
51
55
func init () {
@@ -54,7 +58,6 @@ func init() {
54
58
utilruntime .Must (infrav1beta1 .AddToScheme (scheme ))
55
59
utilruntime .Must (clusterv1 .AddToScheme (scheme ))
56
60
utilruntime .Must (bootstrapv1 .AddToScheme (scheme ))
57
-
58
61
// +kubebuilder:scaffold:scheme
59
62
}
60
63
@@ -81,6 +84,11 @@ func main() {
81
84
pflag .CommandLine .AddGoFlagSet (flag .CommandLine )
82
85
pflag .Parse ()
83
86
87
+ if err := logsv1 .ValidateAndApply (logOptions , nil ); err != nil {
88
+ setupLog .Error (err , "unable to start manager" )
89
+ os .Exit (1 )
90
+ }
91
+
84
92
if watchNamespace != "" {
85
93
setupLog .Info ("Watching cluster-api objects only in namespace for reconciliation" , "namespace" , watchNamespace )
86
94
}
@@ -95,7 +103,8 @@ func main() {
95
103
}()
96
104
}
97
105
98
- ctrl .SetLogger (klogr .New ())
106
+ // klog.Background will automatically use the right logger.
107
+ ctrl .SetLogger (klog .Background ())
99
108
100
109
// Machine and cluster operations can create enough events to trigger the event recorder spam filter
101
110
// Setting the burst size higher ensures all events will be recorded and submitted to the API
@@ -284,4 +293,6 @@ func initFlags(fs *pflag.FlagSet) {
284
293
":9440" ,
285
294
"The address the health endpoint binds to." ,
286
295
)
296
+
297
+ logsv1 .AddFlags (logOptions , fs )
287
298
}
0 commit comments