Skip to content

Commit 8ee3d65

Browse files
committedAug 4, 2021
export ClearLogger
Code in Kubernetes also needs the ability to unset a logger.
1 parent 4171f3c commit 8ee3d65

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed
 

‎klog.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -862,14 +862,19 @@ func (rb *redirectBuffer) Write(bytes []byte) (n int, err error) {
862862
// Use as:
863863
// ...
864864
// klog.SetLogger(zapr.NewLogger(zapLog))
865+
//
866+
// To remove a backing logr implemention, use ClearLogger. Setting an
867+
// empty logger with SetLogger(logr.Logger{}) does not work.
865868
func SetLogger(logr logr.Logger) {
866869
logging.mu.Lock()
867870
defer logging.mu.Unlock()
868871

869872
logging.logr = &logr
870873
}
871874

872-
func clearLogger() {
875+
// ClearLogger removes a backing logr implementation if one was set earlier
876+
// with SetLogger.
877+
func ClearLogger() {
873878
logging.mu.Lock()
874879
defer logging.mu.Unlock()
875880

‎klog_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -1377,7 +1377,7 @@ func TestInfoSWithLogr(t *testing.T) {
13771377
t.Run(data.msg, func(t *testing.T) {
13781378
l := logr.New(logger)
13791379
SetLogger(l)
1380-
defer clearLogger()
1380+
defer ClearLogger()
13811381
defer logger.reset()
13821382

13831383
InfoS(data.msg, data.keysValues...)
@@ -1445,7 +1445,7 @@ func TestErrorSWithLogr(t *testing.T) {
14451445
t.Run(data.msg, func(t *testing.T) {
14461446
l := logr.New(logger)
14471447
SetLogger(l)
1448-
defer clearLogger()
1448+
defer ClearLogger()
14491449
defer logger.reset()
14501450

14511451
ErrorS(data.err, data.msg, data.keysValues...)
@@ -1503,7 +1503,7 @@ func TestCallDepthLogr(t *testing.T) {
15031503
t.Run(tc.name, func(t *testing.T) {
15041504
l := logr.New(logger)
15051505
SetLogger(l)
1506-
defer clearLogger()
1506+
defer ClearLogger()
15071507
defer logger.reset()
15081508
defer logger.resetCallDepth()
15091509

0 commit comments

Comments
 (0)
Please sign in to comment.