Skip to content

Commit 13ed500

Browse files
fixup context key collision (#74)
1 parent d433775 commit 13ed500

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

ctx.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,20 @@ package logger
22

33
import "context"
44

5-
var contextKey struct{}
5+
type contextKey int
6+
7+
const (
8+
loggerKey contextKey = iota
9+
)
610

711
// InjectInContext will inject a logger into the go-context
812
func InjectInContext(ctx context.Context, l LoggerInterface) context.Context {
9-
return context.WithValue(ctx, contextKey, l)
13+
return context.WithValue(ctx, loggerKey, l)
1014
}
1115

1216
// FromContext will retrieve a logger from the go-context or return defaultLogger
1317
func FromContext(ctx context.Context, defaultLogger LoggerInterface) LoggerInterface {
14-
if _logger, ok := ctx.Value(contextKey).(LoggerInterface); ok {
18+
if _logger, ok := ctx.Value(loggerKey).(LoggerInterface); ok {
1519
return _logger
1620
}
1721
return defaultLogger

0 commit comments

Comments
 (0)