github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/logger/adapter.go (about)

     1  // Copyright 2015 Keybase, Inc. All rights reserved. Use of
     2  // this source code is governed by the included BSD license.
     3  
     4  package logger
     5  
     6  // Loggerf is a minimal log interface (using proper formatter style methods)
     7  type Loggerf interface {
     8  	Debugf(s string, args ...interface{})
     9  	Infof(s string, args ...interface{})
    10  	Warningf(s string, args ...interface{})
    11  	Errorf(s string, args ...interface{})
    12  }
    13  
    14  type loggerInternal interface {
    15  	Debug(s string, args ...interface{})
    16  	Info(s string, args ...interface{})
    17  	Warning(s string, args ...interface{})
    18  	Errorf(s string, args ...interface{})
    19  }
    20  
    21  type logf struct {
    22  	log loggerInternal
    23  }
    24  
    25  // NewLoggerf adapts a logger
    26  func NewLoggerf(log loggerInternal) Loggerf {
    27  	return logf{log: log}
    28  }
    29  
    30  // Debugf forwards to Logger.Debug
    31  func (l logf) Debugf(s string, args ...interface{}) {
    32  	l.log.Debug(s, args...)
    33  }
    34  
    35  // Infof forwards to Logger.Info
    36  func (l logf) Infof(s string, args ...interface{}) {
    37  	l.log.Info(s, args...)
    38  }
    39  
    40  // Warningf forwards to Logger.Warning
    41  func (l logf) Warningf(s string, args ...interface{}) {
    42  	l.log.Warning(s, args...)
    43  }
    44  
    45  // Errorf forwards to Logger.Errorf
    46  func (l logf) Errorf(s string, args ...interface{}) {
    47  	l.log.Errorf(s, args...)
    48  }