Skip to content

Commit 59d7297

Browse files
authored
Merge pull request #1256 from huww98/json-log
Support json logging format
2 parents f2a22c5 + 35f9c2b commit 59d7297

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+13724
-7
lines changed

cmd/csi-snapshotter/main.go

+14-3
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ import (
4949
controller "github.com/kubernetes-csi/external-snapshotter/v8/pkg/sidecar-controller"
5050
"github.com/kubernetes-csi/external-snapshotter/v8/pkg/snapshotter"
5151
utilflag "k8s.io/component-base/cli/flag"
52+
"k8s.io/component-base/featuregate"
53+
"k8s.io/component-base/logs"
54+
logsapi "k8s.io/component-base/logs/api/v1"
55+
_ "k8s.io/component-base/logs/json/register"
5256
"k8s.io/component-base/metrics/legacyregistry"
5357
_ "k8s.io/component-base/metrics/prometheus/clientgo/leaderelection" // register leader election in the default legacy registry
5458
_ "k8s.io/component-base/metrics/prometheus/workqueue" // register work queues in the default legacy registry
@@ -106,9 +110,16 @@ func main() {
106110
flag.Var(utilflag.NewMapStringBool(&featureGates), "feature-gates", "Comma-seprated list of key=value pairs that describe feature gates for alpha/experimental features. "+
107111
"Options are:\n"+strings.Join(utilfeature.DefaultFeatureGate.KnownFeatures(), "\n"))
108112

109-
klog.InitFlags(nil)
110-
flag.Set("logtostderr", "true")
113+
fg := featuregate.NewFeatureGate()
114+
logsapi.AddFeatureGates(fg)
115+
c := logsapi.NewLoggingConfiguration()
116+
logsapi.AddGoFlags(c, flag.CommandLine)
117+
logs.InitLogs()
111118
flag.Parse()
119+
if err := logsapi.ValidateAndApply(c, fg); err != nil {
120+
klog.ErrorS(err, "LoggingConfiguration is invalid")
121+
klog.FlushAndExit(klog.ExitFlushTimeout, 1)
122+
}
112123

113124
if err := utilfeature.DefaultMutableFeatureGate.SetFromMap(featureGates); err != nil {
114125
klog.Fatal("Error while parsing feature gates: ", err)
@@ -118,7 +129,7 @@ func main() {
118129
fmt.Println(os.Args[0], version)
119130
os.Exit(0)
120131
}
121-
klog.Infof("Version: %s", version)
132+
klog.InfoS("Version", "version", version)
122133

123134
// If distributed snapshotting is enabled and leaderElection is also set to true, return
124135
if *enableNodeDeployment && *leaderElection {

cmd/snapshot-controller/main.go

+14-4
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ import (
5353
utilfeature "k8s.io/apiserver/pkg/util/feature"
5454
coreinformers "k8s.io/client-go/informers"
5555
utilflag "k8s.io/component-base/cli/flag"
56+
"k8s.io/component-base/featuregate"
57+
"k8s.io/component-base/logs"
58+
logsapi "k8s.io/component-base/logs/api/v1"
59+
_ "k8s.io/component-base/logs/json/register"
5660
)
5761

5862
// Command line flags
@@ -154,10 +158,16 @@ func main() {
154158
flag.Var(utilflag.NewMapStringBool(&featureGates), "feature-gates", "Comma-seprated list of key=value pairs that describe feature gates for alpha/experimental features. "+
155159
"Options are:\n"+strings.Join(utilfeature.DefaultFeatureGate.KnownFeatures(), "\n"))
156160

157-
klog.InitFlags(nil)
158-
flag.Set("logtostderr", "true")
161+
fg := featuregate.NewFeatureGate()
162+
logsapi.AddFeatureGates(fg)
163+
c := logsapi.NewLoggingConfiguration()
164+
logsapi.AddGoFlags(c, flag.CommandLine)
165+
logs.InitLogs()
159166
flag.Parse()
160-
167+
if err := logsapi.ValidateAndApply(c, fg); err != nil {
168+
klog.ErrorS(err, "LoggingConfiguration is invalid")
169+
klog.FlushAndExit(klog.ExitFlushTimeout, 1)
170+
}
161171
if err := utilfeature.DefaultMutableFeatureGate.SetFromMap(featureGates); err != nil {
162172
klog.Fatal("Error while parsing feature gates: ", err)
163173
}
@@ -166,7 +176,7 @@ func main() {
166176
fmt.Println(os.Args[0], version)
167177
os.Exit(0)
168178
}
169-
klog.Infof("Version: %s", version)
179+
klog.InfoS("Version", "version", version)
170180

171181
// Create the client config. Use kubeconfig if given, otherwise assume in-cluster.
172182
config, err := buildConfig(*kubeconfig)

go.mod

+3
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ require (
3333
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
3434
github.com/go-logr/logr v1.4.2 // indirect
3535
github.com/go-logr/stdr v1.2.2 // indirect
36+
github.com/go-logr/zapr v1.3.0 // indirect
3637
github.com/go-openapi/jsonpointer v0.21.0 // indirect
3738
github.com/go-openapi/jsonreference v0.21.0 // indirect
3839
github.com/go-openapi/swag v0.23.0 // indirect
@@ -60,6 +61,8 @@ require (
6061
go.opentelemetry.io/otel v1.33.0 // indirect
6162
go.opentelemetry.io/otel/metric v1.33.0 // indirect
6263
go.opentelemetry.io/otel/trace v1.33.0 // indirect
64+
go.uber.org/multierr v1.11.0 // indirect
65+
go.uber.org/zap v1.27.0 // indirect
6366
golang.org/x/net v0.33.0 // indirect
6467
golang.org/x/oauth2 v0.24.0 // indirect
6568
golang.org/x/sys v0.28.0 // indirect

go.sum

+6
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
2222
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
2323
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
2424
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
25+
github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ=
26+
github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg=
2527
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
2628
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
2729
github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
@@ -127,6 +129,10 @@ go.opentelemetry.io/otel/trace v1.33.0 h1:cCJuF7LRjUFso9LPnEAHJDB2pqzp+hbO8eu1qq
127129
go.opentelemetry.io/otel/trace v1.33.0/go.mod h1:uIcdVUZMpTAmz0tI1z04GoVSezK37CbGV4fr1f2nBck=
128130
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
129131
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
132+
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
133+
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
134+
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
135+
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
130136
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
131137
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
132138
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=

vendor/github.com/go-logr/logr/slogr/slogr.go

+61
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/go-logr/zapr/.gitignore

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/go-logr/zapr/.golangci.yaml

+20
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)