Skip to content

Commit

Permalink
export ClearLogger
Browse files Browse the repository at this point in the history
Code in Kubernetes also needs the ability to unset a logger.
  • Loading branch information
pohly committed Aug 4, 2021
1 parent 4171f3c commit 8ee3d65
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
7 changes: 6 additions & 1 deletion klog.go
Expand Up @@ -862,14 +862,19 @@ func (rb *redirectBuffer) Write(bytes []byte) (n int, err error) {
// Use as:
// ...
// klog.SetLogger(zapr.NewLogger(zapLog))
//
// To remove a backing logr implemention, use ClearLogger. Setting an
// empty logger with SetLogger(logr.Logger{}) does not work.
func SetLogger(logr logr.Logger) {
logging.mu.Lock()
defer logging.mu.Unlock()

logging.logr = &logr
}

func clearLogger() {
// ClearLogger removes a backing logr implementation if one was set earlier
// with SetLogger.
func ClearLogger() {
logging.mu.Lock()
defer logging.mu.Unlock()

Expand Down
6 changes: 3 additions & 3 deletions klog_test.go
Expand Up @@ -1377,7 +1377,7 @@ func TestInfoSWithLogr(t *testing.T) {
t.Run(data.msg, func(t *testing.T) {
l := logr.New(logger)
SetLogger(l)
defer clearLogger()
defer ClearLogger()
defer logger.reset()

InfoS(data.msg, data.keysValues...)
Expand Down Expand Up @@ -1445,7 +1445,7 @@ func TestErrorSWithLogr(t *testing.T) {
t.Run(data.msg, func(t *testing.T) {
l := logr.New(logger)
SetLogger(l)
defer clearLogger()
defer ClearLogger()
defer logger.reset()

ErrorS(data.err, data.msg, data.keysValues...)
Expand Down Expand Up @@ -1503,7 +1503,7 @@ func TestCallDepthLogr(t *testing.T) {
t.Run(tc.name, func(t *testing.T) {
l := logr.New(logger)
SetLogger(l)
defer clearLogger()
defer ClearLogger()
defer logger.reset()
defer logger.resetCallDepth()

Expand Down

0 comments on commit 8ee3d65

Please sign in to comment.