Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

By adding slf4j backends to dependencies, distributions will have their slf4j backends, and it is safe to define a slf4j provider in kafka-run-class. This also allows running a Kafka instance from the source code with a specific provider.

More importantly,  specifying this change will bring 2 benefits:

  • Specifying the provider class explicitly via the slf4j.provider  system property bypasses the service loader mechanism for finding providers and may shorten SLF4J initialization.
  • Indirectly controlling the logging frameworks that Kafka supports by explicitly declaring supported SLF4J providers. This approach would require users to identify and implement logging frameworks that are compatible with our declared providers. By implementing this strategy, we can substantially reduce our maintenance overhead while ensuring consistent logging behavior across implementations.

Public Interfaces

Update the below to upgrade slf4j, starting with the 4.1.0 version.

...

Ensure the user's code works well when specifying their preferred logging frameworks.

We will provide compatible binding jars for log4j2 in Kafka when slf4j-api  upgrading to 2.0.17

As we introduce this change in major version 4.1.0, since we provide the backend binding dependencies, users should be able to upgrade their backend dependencies. 

...