Skip to content

Commit

Permalink
fix(logging): use global methods for the default logger rather than a…
Browse files Browse the repository at this point in the history
… logrus instance
  • Loading branch information
ctrombley committed Jan 24, 2020
1 parent dea6a20 commit 3cacabc
Showing 1 changed file with 9 additions and 13 deletions.
22 changes: 9 additions & 13 deletions internal/logging/structured_logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,11 @@ var (
)

// StructuredLogger is a logger based on logrus.
type StructuredLogger struct {
logger *log.Logger
}
type StructuredLogger struct{}

// NewStructuredLogger creates a new structured logger.
func NewStructuredLogger() StructuredLogger {
return StructuredLogger{
logger: log.New(),
}
return StructuredLogger{}
}

// SetLogLevel allows the log level to be set.
Expand All @@ -35,45 +31,45 @@ func (l StructuredLogger) SetLogLevel(logLevel string) StructuredLogger {
level, _ = log.ParseLevel(defaultLogLevel)
}

l.logger.SetLevel(level)
log.SetLevel(level)

return l
}

// LogJSON determines whether or not to format the logs as JSON.
func (l StructuredLogger) LogJSON(value bool) StructuredLogger {
if value {
l.logger.SetFormatter(&log.JSONFormatter{})
log.SetFormatter(&log.JSONFormatter{})
}

return l
}

// SetDefaultFields sets fields to be logged on every use of the logger.
func (l StructuredLogger) SetDefaultFields(defaultFields map[string]string) StructuredLogger {
l.logger.AddHook(&defaultFieldHook{})
log.AddHook(&defaultFieldHook{})

return l
}

// Error logs an error message.
func (l StructuredLogger) Error(msg string, fields ...interface{}) {
l.logger.WithFields(createFieldMap(fields)).Error(msg)
log.WithFields(createFieldMap(fields)).Error(msg)
}

// Info logs an info message.
func (l StructuredLogger) Info(msg string, fields ...interface{}) {
l.logger.WithFields(createFieldMap(fields)).Info(msg)
log.WithFields(createFieldMap(fields)).Info(msg)
}

// Debug logs a debug message.
func (l StructuredLogger) Debug(msg string, fields ...interface{}) {
l.logger.WithFields(createFieldMap(fields)).Debug(msg)
log.WithFields(createFieldMap(fields)).Debug(msg)
}

// Warn logs an warning message.
func (l StructuredLogger) Warn(msg string, fields ...interface{}) {
l.logger.WithFields(createFieldMap(fields)).Warn(msg)
log.WithFields(createFieldMap(fields)).Warn(msg)
}

func createFieldMap(fields ...interface{}) map[string]interface{} {
Expand Down

0 comments on commit 3cacabc

Please sign in to comment.