Disable LogbookExchangeFilterFunction logging based on logbook property
aldex32 opened this issue · 1 comments
I would like to have a logbook property where I can both disable servlet filters but also LogbookExchangeFilterFunction
. Seems like logbook.filter.enabled
property is only intended for servlet filter support as far as I can see in LogbookAutoConfiguration
. Can this property also be used for http client logging?
Detailed Description
I am using logbook-spring-boot-starter@3.9.0
together with logbook-spring-webflux@3.9.0
. And when I set logbook.filter.enabled=false
, only the servlet logging gets disabled, but the WebClient
logging still occurs. I am not sure if this is as by design or is a bug.
Context
This is important because users of this library can use a single property to enable/disable request/response logging. And since LogbookExchangeFilterFunction
requires a logbook
bean which is autoconfigured based on properties, why not leveraging the property to disable/enable the logging.
Your Environment
- Version used: 3.9.0
I've recently integrated LogBook into our Spring Boot project. My goal was to enable logging specifically for WebFlux without affecting all Spring Boot requests and responses.
Here's what I did:
- Added the LogBook dependency for WebFlux in
build.gradle.kts
:implementation("org.zalando:logbook-spring-webflux:3.9.0")
- Configured the logbook.filter.enabled property in application.properties`
- initialize the LogBook bean and hooked that in LogbookExchangeFilterFunction filters.
Observations:
- Simply adding the dependency org.zalando:logbook-spring-webflux:3.9.0 was sufficient to instantiate the LogBook instance.
- Using LogbookExchangeFilterFunction, I was able to log requests and responses for my WebClient.
- The property logbook.filter.enabled=true seems to have no impact on enabling or disabling the logging functionality.
In summary, just adding the LogBook WebFlux dependency was enough to get logging working for WebClient without needing additional configurations however logbook.filter.enabled
property does not have any impact on ON/OFF logbook webflux logging.
here is my demo project for reference : https://github.com/adityachaudhari24/logbook-demos/blob/master/src/main/resources/application.properties .
Thanks @aldex32 for opening the feature,
Something similar I am looking, where just by property logbook.filter.enabled
disable my logbook filters in the webflix must stop logging.
l want to upvote this feature, I will try to contribute on this.