reference global logrus (#274)

* reference logrus' global logger instead of passing and storing a logger reference everywhere

* always directly use global logrus logger instead of referencing an instance

* test suites should also directly use the global logrus logger

* rename gin logging function to clarify that it's middleware

* correct comments which erroneously referenced removed logger parameter

* setting log level for tests now uses logrus' exported type instead of the string value, to guarantee error isn't possible
This commit is contained in:
R. Aidan Campbell 2021-10-11 05:37:33 -07:00 committed by GitHub
commit 083099a957
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
210 changed files with 506 additions and 662 deletions

View file

@ -25,32 +25,29 @@ import (
"github.com/sirupsen/logrus"
)
// New returns a new logrus logger with the specified level,
// or an error if that level can't be parsed. It also sets
// the output to log.outputSplitter, so you get error logs
// on stderr and normal logs on stdout.
func New(level string) (*logrus.Logger, error) {
log := logrus.New()
log.SetOutput(&outputSplitter{})
// Initialize initializes the global Logrus logger to the specified level
// It also sets the output to log.outputSplitter,
// so you get error logs on stderr and normal logs on stdout.
func Initialize(level string) error {
logrus.SetOutput(&outputSplitter{})
logLevel, err := logrus.ParseLevel(level)
if err != nil {
return nil, err
return err
}
log.SetLevel(logLevel)
logrus.SetLevel(logLevel)
if logLevel == logrus.TraceLevel {
log.SetReportCaller(true)
logrus.SetReportCaller(true)
}
log.SetFormatter(&logrus.TextFormatter{
logrus.SetFormatter(&logrus.TextFormatter{
DisableColors: true,
DisableQuote: true,
FullTimestamp: true,
})
return log, nil
return nil
}
// outputSplitter implements the io.Writer interface for use with Logrus, and simply