github.com/ssgreg/logf@v1.4.1/context.go (about) 1 package logf 2 3 import "context" 4 5 // NewContext returns a new Context with the given Logger inside it. 6 func NewContext(parent context.Context, logger *Logger) context.Context { 7 return context.WithValue(parent, contextKeyLogger{}, logger) 8 } 9 10 // FromContext returns the Logger associated with this context or nil if 11 // no value is associated. Successive calls to FromContext returns the 12 // same result. 13 func FromContext(ctx context.Context) *Logger { 14 value := ctx.Value(contextKeyLogger{}) 15 if value == nil { 16 return nil 17 } 18 19 return value.(*Logger) 20 } 21 22 type contextKeyLogger struct{}