1package log 2 3import ( 4 "github.com/sirupsen/logrus" 5) 6 7// Note that we specifically discourage the use of Fatal, Error by excluding them from the API. 8// Since we prefer structured logging with `.WithError(err)` 9 10// Fields is an alias for the underlying logger Fields type 11// Using this alias saves clients from having to import 12// two distinct logging packages, which can be confusing. 13type Fields = logrus.Fields 14 15// New is a delegator method for logrus.New. 16func New() *logrus.Logger { 17 return logrus.New() 18} 19 20// Info is a delegator method for logrus.Info 21// Info is an exception to our rule about discouraging non-structured use, as there are valid 22// reasons for simply emitting a single log line. 23func Info(args ...interface{}) { 24 logger.Info(args...) 25} 26 27// WithField is a delegator method for logrus.WithField. 28func WithField(key string, value interface{}) *logrus.Entry { 29 return logger.WithField(key, value) 30} 31 32// WithFields is a delegator method for logrus.WithFields. 33func WithFields(fields Fields) *logrus.Entry { 34 return logger.WithFields(fields) 35} 36 37// WithError is a delegator method for logrus.WithError. 38func WithError(err error) *logrus.Entry { 39 return logger.WithError(err) 40} 41