mirror of
https://github.com/containrrr/watchtower.git
synced 2025-12-24 02:50:13 +01:00
fix some tests, split up and refactor
some wonky regression introduced by docker dependencies when running on darwin. see https://github.com/ory/dockertest/issues/212 for more info. will have a look at this next
This commit is contained in:
parent
83aa420996
commit
6b9fd8d7ef
12 changed files with 389 additions and 225 deletions
39
pkg/logger/logger.go
Normal file
39
pkg/logger/logger.go
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
package logger
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
const ContextKey = "LogrusLoggerContext"
|
||||
|
||||
// GetLogger returns a logger from the context if one is available, otherwise a default logger
|
||||
func GetLogger(ctx context.Context) *logrus.Logger {
|
||||
if logger, ok := ctx.Value(ContextKey).(logrus.Logger); ok {
|
||||
return &logger
|
||||
} else {
|
||||
return newLogger(&logrus.JSONFormatter{}, logrus.InfoLevel)
|
||||
}
|
||||
}
|
||||
|
||||
func AddLogger(ctx context.Context) {
|
||||
setLogger(ctx, &logrus.JSONFormatter{}, logrus.InfoLevel)
|
||||
}
|
||||
|
||||
func AddDebugLogger(ctx context.Context) {
|
||||
setLogger(ctx, &logrus.TextFormatter{}, logrus.DebugLevel)
|
||||
}
|
||||
|
||||
// SetLogger adds a logger to the supplied context
|
||||
func setLogger(ctx context.Context, fmt logrus.Formatter, level logrus.Level) {
|
||||
log := newLogger(fmt, level)
|
||||
context.WithValue(ctx, ContextKey, log)
|
||||
}
|
||||
|
||||
func newLogger(fmt logrus.Formatter, level logrus.Level) *logrus.Logger {
|
||||
log := logrus.New()
|
||||
|
||||
log.SetFormatter(fmt)
|
||||
log.SetLevel(level)
|
||||
return log
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue