diff --git a/lib/log/context.go b/lib/log/context.go new file mode 100644 index 0000000000000000000000000000000000000000..b40fa839191ad36e014f8b7907bc3d06b13cfb5e --- /dev/null +++ b/lib/log/context.go @@ -0,0 +1,18 @@ +package log + +import "context" + +type loggerContextKeyType int + +const loggerContextKey loggerContextKeyType = 0 + +func WithLogger(ctx context.Context, logger RawLogger) context.Context { + return context.WithValue(ctx, loggerContextKey, logger) +} + +func FromContext(ctx context.Context) *Logger { + if logger, ok := ctx.Value(loggerContextKey).(RawLogger); ok { + return &Logger{logger} + } + return DefaultLogger +}