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 }