[ https://issues.apache.org/jira/browse/KAFKA-16936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17855156#comment-17855156 ]
Chia-Ping Tsai commented on KAFKA-16936: ---------------------------------------- [~gharris1727] thanks for raising this great discussion. {quote}Is this not true for slf4j 2.x? Will users with log4j 1.x in their distributions still work with slf4j 2.x? {quote} It seems to me the answer is YES. Strictly speaking, we are still using log4j 1.x rather than log4j 2.x, since the default provided is still reload4j. 1. reload4j is drop-in replacement for log4j version 1.2.17, so the compatibility is not a issue [0] 2. the binary compatibility declared by slf4j [1] is "ensure that the version of your provider/binding matches that of the slf4j-api.jar.", and hence we can have backward compatibility if both "slf4j-api" and "slf4j-reload4j" have same version [0] [https://reload4j.qos.ch/] [1] [https://www.slf4j.org/manual.html#compatibility] > Upgrade slf4k to 2.0.9 and integrate "-Dslf4j.provider" to kafka script > ----------------------------------------------------------------------- > > Key: KAFKA-16936 > URL: https://issues.apache.org/jira/browse/KAFKA-16936 > Project: Kafka > Issue Type: New Feature > Reporter: Chia-Ping Tsai > Assignee: Muralidhar Basani > Priority: Major > > origin discussion: > [https://github.com/apache/kafka/pull/16260#issuecomment-2159632052] > The specific provider class can be defined by `slf4j.provider`[0]. Hence, we > can add the slf4j backends we care about to dependencies. With that, our > distributions will have different slf4j backends and it is safe as we will > define slf4j.provider in our script. Also, those slf4j backends will be > collected to "dependend-libs", and hence we can run kafka instance from > source code with specific provider too. > In short, the following tasks are included by this jira > 1. upgrade slf4j from 1.7.36 to 2.0.9+ > 2. add a new system variable to script to define -Dslf4j.provider easily. By > default we use org.slf4j.reload4j.Reload4jServiceProvider > 3. add other slf4j backend dependencies (optional) > [0] https://www.slf4j.org/manual.html -- This message was sent by Atlassian Jira (v8.20.10#820010)