Skip to content

Commit 3dfe5be

Browse files
committed
Bump github.com/go-logr/zapr & github.com/go-logr/logr to v1.0.0
1 parent 8b55f85 commit 3dfe5be

File tree

6 files changed

+76
-92
lines changed

6 files changed

+76
-92
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ go 1.16
55
require (
66
github.com/evanphx/json-patch v4.11.0+incompatible
77
github.com/fsnotify/fsnotify v1.4.9
8-
github.com/go-logr/logr v0.4.0
9-
github.com/go-logr/zapr v0.4.0
8+
github.com/go-logr/logr v1.0.0
9+
github.com/go-logr/zapr v1.0.0
1010
github.com/googleapis/gnostic v0.5.5 // indirect
1111
github.com/hashicorp/golang-lru v0.5.4 // indirect
1212
github.com/imdario/mergo v0.3.12 // indirect

go.sum

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,12 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V
111111
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
112112
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
113113
github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
114-
github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc=
115114
github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
116-
github.com/go-logr/zapr v0.4.0 h1:uc1uML3hRYL9/ZZPdgHS/n8Nzo+eaYL/Efxkkamf7OM=
117-
github.com/go-logr/zapr v0.4.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk=
115+
github.com/go-logr/logr v1.0.0-rc1/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
116+
github.com/go-logr/logr v1.0.0 h1:kH951GinvFVaQgy/ki/B3YYmQtRpExGigSJg6O8z5jo=
117+
github.com/go-logr/logr v1.0.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
118+
github.com/go-logr/zapr v1.0.0 h1:rerrgIsgykt8zVvKMVfqxI2SoYvHAFdX11er/SLZZgI=
119+
github.com/go-logr/zapr v1.0.0/go.mod h1:t7rgfcj/l02iFgbQxqhQeoyWA9jX2+2enc4PUHF6Hp0=
118120
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
119121
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
120122
github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
@@ -399,6 +401,7 @@ go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A
399401
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
400402
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
401403
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
404+
go.uber.org/zap v1.8.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
402405
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
403406
go.uber.org/zap v1.17.0 h1:MTjgFu6ZLKvY6Pvaqk97GlxNBuMpV4Hy/3P6tRGlI2U=
404407
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=

pkg/log/deleg.go

Lines changed: 18 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,8 @@ type loggerPromise struct {
2929
childPromises []*loggerPromise
3030
promisesLock sync.Mutex
3131

32-
name *string
33-
tags []interface{}
34-
level int
32+
name *string
33+
tags []interface{}
3534
}
3635

3736
func (p *loggerPromise) WithName(l *DelegatingLogger, name string) *loggerPromise {
@@ -61,21 +60,8 @@ func (p *loggerPromise) WithValues(l *DelegatingLogger, tags ...interface{}) *lo
6160
return res
6261
}
6362

64-
func (p *loggerPromise) V(l *DelegatingLogger, level int) *loggerPromise {
65-
res := &loggerPromise{
66-
logger: l,
67-
level: level,
68-
promisesLock: sync.Mutex{},
69-
}
70-
71-
p.promisesLock.Lock()
72-
defer p.promisesLock.Unlock()
73-
p.childPromises = append(p.childPromises, res)
74-
return res
75-
}
76-
7763
// Fulfill instantiates the Logger with the provided logger.
78-
func (p *loggerPromise) Fulfill(parentLogger logr.Logger) {
64+
func (p *loggerPromise) Fulfill(parentLogger logr.LogSink) {
7965
var logger = parentLogger
8066
if p.name != nil {
8167
logger = logger.WithName(*p.name)
@@ -84,9 +70,6 @@ func (p *loggerPromise) Fulfill(parentLogger logr.Logger) {
8470
if p.tags != nil {
8571
logger = logger.WithValues(p.tags...)
8672
}
87-
if p.level != 0 {
88-
logger = logger.V(p.level)
89-
}
9073

9174
p.logger.lock.Lock()
9275
p.logger.logger = logger
@@ -105,17 +88,23 @@ func (p *loggerPromise) Fulfill(parentLogger logr.Logger) {
10588
// a no-op logger before the promises are fulfilled).
10689
type DelegatingLogger struct {
10790
lock sync.RWMutex
108-
logger logr.Logger
91+
logger logr.LogSink
10992
promise *loggerPromise
93+
info logr.RuntimeInfo
94+
}
95+
96+
// Init implements logr.LogSink.
97+
func (l *DelegatingLogger) Init(info logr.RuntimeInfo) {
98+
l.info = info
11099
}
111100

112101
// Enabled tests whether this Logger is enabled. For example, commandline
113102
// flags might be used to set the logging verbosity and disable some info
114103
// logs.
115-
func (l *DelegatingLogger) Enabled() bool {
104+
func (l *DelegatingLogger) Enabled(v int) bool {
116105
l.lock.RLock()
117106
defer l.lock.RUnlock()
118-
return l.logger.Enabled()
107+
return l.logger.Enabled(v)
119108
}
120109

121110
// Info logs a non-error message with the given key/value pairs as context.
@@ -124,10 +113,10 @@ func (l *DelegatingLogger) Enabled() bool {
124113
// the log line. The key/value pairs can then be used to add additional
125114
// variable information. The key/value pairs should alternate string
126115
// keys and arbitrary values.
127-
func (l *DelegatingLogger) Info(msg string, keysAndValues ...interface{}) {
116+
func (l *DelegatingLogger) Info(level int, msg string, keysAndValues ...interface{}) {
128117
l.lock.RLock()
129118
defer l.lock.RUnlock()
130-
l.logger.Info(msg, keysAndValues...)
119+
l.logger.Info(level, msg, keysAndValues...)
131120
}
132121

133122
// Error logs an error, with the given message and key/value pairs as context.
@@ -144,27 +133,8 @@ func (l *DelegatingLogger) Error(err error, msg string, keysAndValues ...interfa
144133
l.logger.Error(err, msg, keysAndValues...)
145134
}
146135

147-
// V returns an Logger value for a specific verbosity level, relative to
148-
// this Logger. In other words, V values are additive. V higher verbosity
149-
// level means a log message is less important. It's illegal to pass a log
150-
// level less than zero.
151-
func (l *DelegatingLogger) V(level int) logr.Logger {
152-
l.lock.RLock()
153-
defer l.lock.RUnlock()
154-
155-
if l.promise == nil {
156-
return l.logger.V(level)
157-
}
158-
159-
res := &DelegatingLogger{logger: l.logger}
160-
promise := l.promise.V(res, level)
161-
res.promise = promise
162-
163-
return res
164-
}
165-
166136
// WithName provides a new Logger with the name appended.
167-
func (l *DelegatingLogger) WithName(name string) logr.Logger {
137+
func (l *DelegatingLogger) WithName(name string) logr.LogSink {
168138
l.lock.RLock()
169139
defer l.lock.RUnlock()
170140

@@ -180,7 +150,7 @@ func (l *DelegatingLogger) WithName(name string) logr.Logger {
180150
}
181151

182152
// WithValues provides a new Logger with the tags appended.
183-
func (l *DelegatingLogger) WithValues(tags ...interface{}) logr.Logger {
153+
func (l *DelegatingLogger) WithValues(tags ...interface{}) logr.LogSink {
184154
l.lock.RLock()
185155
defer l.lock.RUnlock()
186156

@@ -198,15 +168,15 @@ func (l *DelegatingLogger) WithValues(tags ...interface{}) logr.Logger {
198168
// Fulfill switches the logger over to use the actual logger
199169
// provided, instead of the temporary initial one, if this method
200170
// has not been previously called.
201-
func (l *DelegatingLogger) Fulfill(actual logr.Logger) {
171+
func (l *DelegatingLogger) Fulfill(actual logr.LogSink) {
202172
if l.promise != nil {
203173
l.promise.Fulfill(actual)
204174
}
205175
}
206176

207177
// NewDelegatingLogger constructs a new DelegatingLogger which uses
208178
// the given logger before it's promise is fulfilled.
209-
func NewDelegatingLogger(initial logr.Logger) *DelegatingLogger {
179+
func NewDelegatingLogger(initial logr.LogSink) *DelegatingLogger {
210180
l := &DelegatingLogger{
211181
logger: initial,
212182
promise: &loggerPromise{promisesLock: sync.Mutex{}},

pkg/log/log.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ import (
4242
)
4343

4444
// SetLogger sets a concrete logging implementation for all deferred Loggers.
45-
func SetLogger(l logr.Logger) {
45+
func SetLogger(l logr.LogSink) {
4646
loggerWasSetLock.Lock()
4747
defer loggerWasSetLock.Unlock()
4848

4949
loggerWasSet = true
50-
Log.Fulfill(l)
50+
dlog.Fulfill(l)
5151
}
5252

5353
// It is safe to assume that if this wasn't set within the first 30 seconds of a binaries
@@ -64,7 +64,7 @@ func init() {
6464
loggerWasSetLock.Lock()
6565
defer loggerWasSetLock.Unlock()
6666
if !loggerWasSet {
67-
Log.Fulfill(NullLogger{})
67+
dlog.Fulfill(NullLogger{})
6868
}
6969
}()
7070
}
@@ -79,13 +79,16 @@ var (
7979
// get any actual logging. If SetLogger is not called within
8080
// the first 30 seconds of a binaries lifetime, it will get
8181
// set to a NullLogger.
82-
var Log = NewDelegatingLogger(NullLogger{})
82+
var (
83+
dlog = NewDelegatingLogger(NullLogger{})
84+
Log = logr.New(dlog)
85+
)
8386

8487
// FromContext returns a logger with predefined values from a context.Context.
8588
func FromContext(ctx context.Context, keysAndValues ...interface{}) logr.Logger {
86-
var log logr.Logger = Log
89+
log := Log
8790
if ctx != nil {
88-
if logger := logr.FromContext(ctx); logger != nil {
91+
if logger, err := logr.FromContext(ctx); err == nil {
8992
log = logger
9093
}
9194
}

pkg/log/log_test.go

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
. "github.com/onsi/gomega"
2626
)
2727

28-
var _ logr.Logger = &DelegatingLogger{}
28+
var _ logr.LogSink = &DelegatingLogger{}
2929

3030
// logInfo is the information for a particular fakeLogger message.
3131
type logInfo struct {
@@ -49,7 +49,10 @@ type fakeLogger struct {
4949
root *fakeLoggerRoot
5050
}
5151

52-
func (f *fakeLogger) WithName(name string) logr.Logger {
52+
func (f *fakeLogger) Init(info logr.RuntimeInfo) {
53+
}
54+
55+
func (f *fakeLogger) WithName(name string) logr.LogSink {
5356
names := append([]string(nil), f.name...)
5457
names = append(names, name)
5558
return &fakeLogger{
@@ -59,7 +62,7 @@ func (f *fakeLogger) WithName(name string) logr.Logger {
5962
}
6063
}
6164

62-
func (f *fakeLogger) WithValues(vals ...interface{}) logr.Logger {
65+
func (f *fakeLogger) WithValues(vals ...interface{}) logr.LogSink {
6366
tags := append([]interface{}(nil), f.tags...)
6467
tags = append(tags, vals...)
6568
return &fakeLogger{
@@ -80,7 +83,7 @@ func (f *fakeLogger) Error(err error, msg string, vals ...interface{}) {
8083
})
8184
}
8285

83-
func (f *fakeLogger) Info(msg string, vals ...interface{}) {
86+
func (f *fakeLogger) Info(l int, msg string, vals ...interface{}) {
8487
tags := append([]interface{}(nil), f.tags...)
8588
tags = append(tags, vals...)
8689
f.root.messages = append(f.root.messages, logInfo{
@@ -90,8 +93,9 @@ func (f *fakeLogger) Info(msg string, vals ...interface{}) {
9093
})
9194
}
9295

93-
func (f *fakeLogger) Enabled() bool { return true }
94-
func (f *fakeLogger) V(lvl int) logr.Logger { return f }
96+
func (f *fakeLogger) Enabled(l int) bool {
97+
return true
98+
}
9599

96100
var _ = Describe("logging", func() {
97101

@@ -121,7 +125,7 @@ var _ = Describe("logging", func() {
121125
Describe("lazy logger initialization", func() {
122126
var (
123127
root *fakeLoggerRoot
124-
baseLog logr.Logger
128+
baseLog logr.LogSink
125129
delegLog *DelegatingLogger
126130
)
127131

@@ -133,12 +137,12 @@ var _ = Describe("logging", func() {
133137

134138
It("should delegate with name", func() {
135139
By("asking for a logger with a name before fulfill, and logging")
136-
befFulfill1 := delegLog.WithName("before-fulfill")
140+
befFulfill1 := logr.New(delegLog).WithName("before-fulfill")
137141
befFulfill2 := befFulfill1.WithName("two")
138142
befFulfill1.Info("before fulfill")
139143

140144
By("logging on the base logger before fulfill")
141-
delegLog.Info("before fulfill base")
145+
logr.New(delegLog).Info("before fulfill base")
142146

143147
By("ensuring that no messages were actually recorded")
144148
Expect(root.messages).To(BeEmpty())
@@ -154,7 +158,7 @@ var _ = Describe("logging", func() {
154158
befFulfill1.WithName("after-from-before").Info("after 3")
155159

156160
By("logging with new loggers")
157-
delegLog.WithName("after-fulfill").Info("after 4")
161+
logr.New(delegLog).WithName("after-fulfill").Info("after 4")
158162

159163
By("ensuring that the messages are appropriately named")
160164
Expect(root.messages).To(ConsistOf(
@@ -179,7 +183,7 @@ var _ = Describe("logging", func() {
179183

180184
// Constructing the child in the goroutine does not reliably
181185
// trigger the race detector
182-
child := delegLog.WithName("child")
186+
child := logr.New(delegLog).WithName("child")
183187
go func() {
184188
defer GinkgoRecover()
185189
delegLog.Fulfill(NullLogger{})
@@ -202,12 +206,12 @@ var _ = Describe("logging", func() {
202206
}()
203207
go func() {
204208
defer GinkgoRecover()
205-
delegLog.Enabled()
209+
logr.New(delegLog).Enabled()
206210
close(logEnabledDone)
207211
}()
208212
go func() {
209213
defer GinkgoRecover()
210-
delegLog.Info("hello world")
214+
logr.New(delegLog).Info("hello world")
211215
close(logInfoDone)
212216
}()
213217
go func() {
@@ -217,7 +221,7 @@ var _ = Describe("logging", func() {
217221
}()
218222
go func() {
219223
defer GinkgoRecover()
220-
delegLog.V(1)
224+
logr.New(delegLog).V(1)
221225
close(logVDone)
222226
}()
223227

@@ -233,12 +237,12 @@ var _ = Describe("logging", func() {
233237

234238
It("should delegate with tags", func() {
235239
By("asking for a logger with a name before fulfill, and logging")
236-
befFulfill1 := delegLog.WithValues("tag1", "val1")
240+
befFulfill1 := logr.New(delegLog).WithValues("tag1", "val1")
237241
befFulfill2 := befFulfill1.WithValues("tag2", "val2")
238242
befFulfill1.Info("before fulfill")
239243

240244
By("logging on the base logger before fulfill")
241-
delegLog.Info("before fulfill base")
245+
logr.New(delegLog).Info("before fulfill base")
242246

243247
By("ensuring that no messages were actually recorded")
244248
Expect(root.messages).To(BeEmpty())
@@ -254,7 +258,7 @@ var _ = Describe("logging", func() {
254258
befFulfill1.WithValues("tag3", "val3").Info("after 3")
255259

256260
By("logging with new loggers")
257-
delegLog.WithValues("tag3", "val3").Info("after 4")
261+
logr.New(delegLog).WithValues("tag3", "val3").Info("after 4")
258262

259263
By("ensuring that the messages are appropriately named")
260264
Expect(root.messages).To(ConsistOf(
@@ -270,13 +274,13 @@ var _ = Describe("logging", func() {
270274
delegLog.Fulfill(baseLog)
271275

272276
By("logging a bit")
273-
delegLog.Info("msg 1")
277+
logr.New(delegLog).Info("msg 1")
274278

275279
By("fulfilling with a new logger")
276280
delegLog.Fulfill(&fakeLogger{})
277281

278282
By("logging some more")
279-
delegLog.Info("msg 2")
283+
logr.New(delegLog).Info("msg 2")
280284

281285
By("checking that all log messages are present")
282286
Expect(root.messages).To(ConsistOf(
@@ -296,7 +300,7 @@ var _ = Describe("logging", func() {
296300
root := &fakeLoggerRoot{}
297301
baseLog := &fakeLogger{root: root}
298302

299-
wantLog := baseLog.WithName("my-logger")
303+
wantLog := logr.New(baseLog).WithName("my-logger")
300304
ctx := IntoContext(context.Background(), wantLog)
301305

302306
gotLog := FromContext(ctx)
@@ -312,7 +316,7 @@ var _ = Describe("logging", func() {
312316
root := &fakeLoggerRoot{}
313317
baseLog := &fakeLogger{root: root}
314318

315-
wantLog := baseLog.WithName("my-logger")
319+
wantLog := logr.New(baseLog).WithName("my-logger")
316320
ctx := IntoContext(context.Background(), wantLog)
317321

318322
gotLog := FromContext(ctx, "tag1", "value1")

0 commit comments

Comments
 (0)