mirror of
https://github.com/rancher/rke.git
synced 2025-04-27 19:25:44 +00:00
45 lines
866 B
Go
45 lines
866 B
Go
package log
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
type logKey string
|
|
|
|
const (
|
|
key logKey = "rke-logger"
|
|
)
|
|
|
|
type logger interface {
|
|
Debugf(msg string, args ...interface{})
|
|
Infof(msg string, args ...interface{})
|
|
Warnf(msg string, args ...interface{})
|
|
}
|
|
|
|
func SetLogger(ctx context.Context, logger logger) context.Context {
|
|
return context.WithValue(ctx, key, logger)
|
|
}
|
|
|
|
func getLogger(ctx context.Context) logger {
|
|
logger, _ := ctx.Value(key).(logger)
|
|
if logger == nil {
|
|
return logrus.StandardLogger()
|
|
}
|
|
return logger
|
|
}
|
|
|
|
func Infof(ctx context.Context, msg string, args ...interface{}) {
|
|
getLogger(ctx).Infof(msg, args...)
|
|
|
|
}
|
|
|
|
func Warnf(ctx context.Context, msg string, args ...interface{}) {
|
|
getLogger(ctx).Warnf(msg, args...)
|
|
}
|
|
|
|
func Debugf(ctx context.Context, msg string, args ...interface{}) {
|
|
getLogger(ctx).Debugf(msg, args...)
|
|
}
|