Package-level declarations

Types

Link copied to clipboard
@AutoConfiguration
@ConditionalOnProperty(prefix = "adapter-logging", name = ["enabled"], havingValue = "true", matchIfMissing = true)
@EnableConfigurationProperties(value = [ClientLoggingProperties::class])
class ClientLoggingAutoConfiguration

Registers the ClientRequestLoggingFilter in a Spring Boot application and attaches it to every WebClient Boot builds - drop the module on the classpath and every outbound call is logged; adapter-logging.enabled=false removes it again. The property namespace matches legatium-restclient-logging's key for key; both modules may even live in one application (a servlet host using WebClient for streaming calls), each logging the client it serves.

Link copied to clipboard
class ClientRequestLoggingFilter @JvmOverloads constructor(properties: ClientLoggingProperties, nanoTime: NanoTimeSource, correlationIds: CorrelationIdGenerator, meterRegistry: MeterRegistry, masker: HeaderValueMasker = HeaderValueMasker.forKey(properties.maskingKey)) : ExchangeFilterFunction

The WebClient twin of legatium-restclient-logging's ClientRequestLoggingInterceptor: ONE structured adapter_* line per outbound HTTP exchange, identical message and field format, identical adapter-logging.* configuration (see ClientLoggingProperties). Stack-inherent differences to the RestClient twin, all deliberate: