go-micro.dev/v5@v5.12.0/logger/logger.go (about)

     1  // Package log provides a log interface
     2  package logger
     3  
     4  var (
     5  	// Default logger.
     6  	DefaultLogger Logger = NewLogger()
     7  
     8  	// Default logger helper.
     9  	DefaultHelper *Helper = NewHelper(DefaultLogger)
    10  )
    11  
    12  // Logger is a generic logging interface.
    13  type Logger interface {
    14  	// Init initializes options
    15  	Init(options ...Option) error
    16  	// The Logger options
    17  	Options() Options
    18  	// Fields set fields to always be logged
    19  	Fields(fields map[string]interface{}) Logger
    20  	// Log writes a log entry
    21  	Log(level Level, v ...interface{})
    22  	// Logf writes a formatted log entry
    23  	Logf(level Level, format string, v ...interface{})
    24  	// String returns the name of logger
    25  	String() string
    26  }
    27  
    28  func Init(opts ...Option) error {
    29  	return DefaultLogger.Init(opts...)
    30  }
    31  
    32  func Fields(fields map[string]interface{}) Logger {
    33  	return DefaultLogger.Fields(fields)
    34  }
    35  
    36  func Log(level Level, v ...interface{}) {
    37  	DefaultLogger.Log(level, v...)
    38  }
    39  
    40  func Logf(level Level, format string, v ...interface{}) {
    41  	DefaultLogger.Logf(level, format, v...)
    42  }
    43  
    44  func String() string {
    45  	return DefaultLogger.String()
    46  }
    47  
    48  func LoggerOrDefault(l Logger) Logger {
    49  	if l == nil {
    50  		return DefaultLogger
    51  	}
    52  	return l
    53  }