diff --git a/context.go b/context.go index e3f20c1..d44a049 100644 --- a/context.go +++ b/context.go @@ -4,15 +4,21 @@ import "context" type loggerCtxKey = struct{} -// SinkContext is used by slog.Make to compose many loggers together. -type SinkContext struct { +type sinkContext struct { + context.Context + Sink +} + +// SinkContext is a context that implements Sink. +// It may be returned by log creators to allow for composition. +type SinkContext interface { Sink context.Context } func contextWithLogger(ctx context.Context, l logger) SinkContext { ctx = context.WithValue(ctx, loggerCtxKey{}, l) - return SinkContext{ + return &sinkContext{ Context: ctx, Sink: l, }