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  }