public static <T, R> BiConsumer<T, SynchronousSink<R>> handle(BiConsumer<T, SynchronousSink<R>> logger) {
        return (t, rFluxSink) -> {
            log(rFluxSink.contextView(), context -> {
                logger.accept(t, rFluxSink);
            });
        };
    }
@Test
    public void testHandle() {
        Flux.range(0, 5)
                .delayElements(Duration.ofSeconds(1))
                .flatMap(i -> ReactiveLogger.mdc("requestId", "test").thenReturn(i))
                .handle(ReactiveLogger.handle((o, fluxSink) -> {
                    log.info("test:{}", fluxSink.currentContext());
                    fluxSink.next(o);
                })).contextWrite(ReactiveLogger.start("r", "1"))
                .as(StepVerifier::create)
                .expectNextCount(5)
                .verifyComplete();

    }