github.com/nektos/act@v0.2.63/pkg/common/logger.go (about) 1 package common 2 3 import ( 4 "context" 5 6 "github.com/sirupsen/logrus" 7 ) 8 9 type loggerContextKey string 10 11 const loggerContextKeyVal = loggerContextKey("logrus.FieldLogger") 12 13 // Logger returns the appropriate logger for current context 14 func Logger(ctx context.Context) logrus.FieldLogger { 15 val := ctx.Value(loggerContextKeyVal) 16 if val != nil { 17 if logger, ok := val.(logrus.FieldLogger); ok { 18 return logger 19 } 20 } 21 return logrus.StandardLogger() 22 } 23 24 // WithLogger adds a value to the context for the logger 25 func WithLogger(ctx context.Context, logger logrus.FieldLogger) context.Context { 26 return context.WithValue(ctx, loggerContextKeyVal, logger) 27 }