@@ -19,16 +19,17 @@ import (
19
19
"google.golang.org/grpc/credentials/insecure"
20
20
_ "k8s.io/client-go/plugin/pkg/client/auth"
21
21
22
+ "github.com/bombsimon/logrusr/v2"
22
23
grpc_prometheus "github.com/grpc-ecosystem/go-grpc-prometheus"
23
24
"github.com/prometheus/client_golang/prometheus"
24
25
"k8s.io/apimachinery/pkg/runtime"
25
26
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
26
27
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
28
+ "k8s.io/klog/v2"
27
29
ctrl "sigs.k8s.io/controller-runtime"
28
30
"sigs.k8s.io/controller-runtime/pkg/cache"
29
31
"sigs.k8s.io/controller-runtime/pkg/client"
30
32
"sigs.k8s.io/controller-runtime/pkg/healthz"
31
- "sigs.k8s.io/controller-runtime/pkg/log/zap"
32
33
"sigs.k8s.io/controller-runtime/pkg/metrics"
33
34
34
35
common_grpc "github.com/gitpod-io/gitpod/common-go/grpc"
@@ -50,6 +51,11 @@ import (
50
51
)
51
52
52
53
var (
54
+ // ServiceName is the name we use for tracing/logging
55
+ ServiceName = "ws-manager-mk2"
56
+ // Version of this service - set during build
57
+ Version = ""
58
+
53
59
scheme = runtime .NewScheme ()
54
60
setupLog = ctrl .Log .WithName ("setup" )
55
61
)
@@ -64,17 +70,21 @@ func init() {
64
70
func main () {
65
71
var enableLeaderElection bool
66
72
var configFN string
73
+ var jsonLog bool
74
+ var verbose bool
67
75
flag .BoolVar (& enableLeaderElection , "leader-elect" , false ,
68
76
"Enable leader election for controller manager. " +
69
77
"Enabling this will ensure there is only one active controller manager." )
70
78
flag .StringVar (& configFN , "config" , "" , "Path to the config file" )
71
- opts := zap.Options {
72
- Development : true ,
73
- }
74
- opts .BindFlags (flag .CommandLine )
79
+ flag .BoolVar (& jsonLog , "json-log" , true , "produce JSON log output on verbose level" )
80
+ flag .BoolVar (& verbose , "verbose" , false , "Enable verbose logging" )
75
81
flag .Parse ()
76
82
77
- ctrl .SetLogger (zap .New (zap .UseFlagOptions (& opts )))
83
+ log .Init (ServiceName , Version , jsonLog , verbose )
84
+ baseLogger := logrusr .New (log .Log )
85
+ ctrl .SetLogger (baseLogger )
86
+ // Set the logger used by k8s (e.g. client-go).
87
+ klog .SetLogger (baseLogger )
78
88
promrep := & tracing.PromReporter {
79
89
Operations : map [string ]tracing.SpanMetricMapping {
80
90
"StartWorkspace" : {
@@ -84,7 +94,7 @@ func main() {
84
94
},
85
95
},
86
96
}
87
- closer := tracing .Init ("ws-manager-mk2" , tracing .WithPrometheusReporter (promrep ))
97
+ closer := tracing .Init (ServiceName , tracing .WithPrometheusReporter (promrep ))
88
98
if closer != nil {
89
99
defer closer .Close ()
90
100
}
0 commit comments