LoggingDecoratorBuilder { public LoggingDecoratorBuilder requestLogLevel(LogLevel requestLogLevel) { if (isRequestLogLevelMapperSet) { throw new IllegalStateException("requestLogLevelMapper has been set already."); } this.requestLogLevel = requireNonNull(requestLogLevel, "requestLogLevel"); isRequestLogLevelSet = true; return this; }  LoggingDecoratorBuilder logger(Logger logger); LoggingDecoratorBuilder logger(String loggerName); LoggingDecoratorBuilder requestLogLevel(LogLevel requestLogLevel); LoggingDecoratorBuilder successfulResponseLogLevel(LogLevel successfulResponseLogLevel); LoggingDecoratorBuilder failureResponseLogLevel(LogLevel failedResponseLogLevel); LoggingDecoratorBuilder requestLogLevelMapper(
            Function<? super RequestOnlyLog, LogLevel> requestLogLevelMapper); LoggingDecoratorBuilder responseLogLevelMapper(
            Function<? super RequestLog, LogLevel> responseLogLevelMapper); LoggingDecoratorBuilder requestHeadersSanitizer(
            BiFunction<? super RequestContext, ? super HttpHeaders, ?> requestHeadersSanitizer); LoggingDecoratorBuilder responseHeadersSanitizer(
            BiFunction<? super RequestContext, ? super HttpHeaders, ?> responseHeadersSanitizer); LoggingDecoratorBuilder requestTrailersSanitizer(
            BiFunction<? super RequestContext, ? super HttpHeaders, ?> requestTrailersSanitizer); LoggingDecoratorBuilder responseTrailersSanitizer(
            BiFunction<? super RequestContext, ? super HttpHeaders, ?> responseTrailersSanitizer); LoggingDecoratorBuilder headersSanitizer(
            BiFunction<? super RequestContext, ? super HttpHeaders, ?> headersSanitizer); LoggingDecoratorBuilder requestContentSanitizer(
            BiFunction<? super RequestContext, Object, ?> requestContentSanitizer); LoggingDecoratorBuilder responseContentSanitizer(
            BiFunction<? super RequestContext, Object, ?> responseContentSanitizer); LoggingDecoratorBuilder contentSanitizer(
            BiFunction<? super RequestContext, Object, ?> contentSanitizer); LoggingDecoratorBuilder responseCauseSanitizer(
            BiFunction<? super RequestContext, ? super Throwable, ?> responseCauseSanitizer); @Override String toString();  }
@Test void requestLog() { assertThatThrownBy(() -> builder.requestLogLevel(null)) .isInstanceOf(NullPointerException.class); assertThat(builder.requestLogLevel()).isEqualTo(LogLevel.DEBUG); builder.requestLogLevel(LogLevel.ERROR); assertThat(builder.requestLogLevel()).isEqualTo(LogLevel.ERROR); }