> VerifiableLog4jAppender is used for system tests, it's not a user facing tool. We don't need it to support log4j 2.
I mean, as long as there is VerifiableLog4jAppender which uses log4j-appender, we can't entirely remove log4j 1.x artifact from the classpath, regardless of if it is a user-facing tool or not. As I wrote above, I found that some users with the preview build reported that if log4j 1.x and 2.x artifacts co-exist in the classpath, sometimes the slg4j can't find the appropriate binding, resulting in logging failing. Providing a log4j2 appender is not only for providing an updated one for the log4j-appender users, but for removing a potential problem in the classpath also. Regards, Dongjin On Mon, Jun 14, 2021 at 12:17 AM Ismael Juma <ism...@juma.me.uk> wrote: > VerifiableLog4jAppender is used for system tests, it's not a user facing > tool. We don't need it to support log4j 2. > > Ismael > > On Sun, Jun 13, 2021 at 8:12 AM Dongjin Lee <dong...@apache.org> wrote: > > > Hi Ismael, > > > > > Can't we work with the log4j community to support the alternative > format? > > > > It seems not. > > > > 1. Changing the format of current log4j2's Kafka Appender implementation > > means causing inconvenience to the existing users by changing API > > semantics. (In my opinion, the log4j community did not take the > > compatibility with the log4j-appender into account when they developed > this > > module.) > > > > 2. Providing a new implementation (which is compatible with > log4j-appender) > > alongside with the existing one means there will be two APIs with similar > > goals and functionality under the same artifact coordinate of log4j. This > > confuses the users. > > > > Either of the approaches above is not feasible to the log4j community. > > > > Moreover, this approach does not resolve the classpath problem; To > entirely > > remove the log4j 1.x artifact from the classpath, the log4j2 appender > > should be released first, since VerifiableLog4jAppender uses it. This > means > > that the release of Kafka 3.0 depends upon when the log4j community > > releases the appender - it is also not feasible for us. > > > > Thanks, > > Dongjin > > > > On Sun, Jun 13, 2021 at 12:20 AM Ismael Juma <ism...@juma.me.uk> wrote: > > > > > Can't we work with the log4j community to support the alternative > format? > > > > > > Ismael > > > > > > On Fri, Jun 11, 2021, 10:54 PM Dongjin Lee <dong...@apache.org> wrote: > > > > > > > Hi all, > > > > > > > > @Ismael > > > > > > > > As I stated in the KIP (see subsection 2 of 'Motivation'), the log4j > > > > community's implementation can't be an alternative for the existing > > > > 'log4j-appender' users since their message format is different, > > breaking > > > > the related, already running pipelines. > > > > > > > > Add to this, the log4j appender can be best maintained when log4j2 > and > > > > Kafka versions are updated together. (see subsection 1 of > > 'Motivation'.) > > > > > > > > @Israel > > > > > > > > Then, you mean instead of creating a new artifact > ('log4j2-appender'), > > > just > > > > substituting the traditional artifact ('log4j-appender') with a new > > > > implementation would be better. Do I understand correctly? > > > > > > > > After all, one main reason I hurried this proposal is that for the > > > > VerifiableLog4jAppender tool, we can't entirely remove log4j 1.x > > artifact > > > > from the classpath - making classpath logic more complex. (see here > > > > < > > > > > > > > > > https://github.com/apache/kafka/pull/7898/commits/f56f491e68ef2a976c0e3331a48dd881b74a06b3 > > > > > > > > > for KIP-653 > > > > < > > > > > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-653%3A+Upgrade+log4j+to+log4j2 > > > > > > > > > and here > > > > < > > > > > > > > > > https://github.com/apache/kafka/pull/10244/commits/b66fce3d04e005b1eaeae006d78bd8e698f417c6 > > > > > > > > > for KIP-719 > > > > < > > > > > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-719%3A+Add+Log4J2+Appender > > > > > > > > > .) > > > > > > > > @Boojapho, @Konstantine > > > > > > > > Thanks for the voting. Currently: > > > > > > > > - binding: +1 (Konstantine) > > > > - non-binding: +1 (Boojapho) > > > > > > > > Regards, > > > > Dongjin > > > > > > > > On Sat, Jun 12, 2021 at 10:29 AM Israel Ekpo <israele...@gmail.com> > > > wrote: > > > > > > > > > It looks like some of the language in the KIP is suggesting that > the > > > > Kafka > > > > > Dev community is going to provide the log4j2 equivalent and would > be > > > > > responsible for maintaining it: “ User-interfacing configurations > > (like > > > > > broker logging config), provide additional log4j2-equivalent > > > > configuration > > > > > with backward compatibility” > > > > > > > > > > I think the external dependencies should just be used as is from > the > > > > > original project to minimize overhead. Trying to recreate an > > external > > > > > dependency to provide backward compatibility could end up being a > lot > > > of > > > > > work in the long term. > > > > > > > > > > Do you think we need to push this to 3.1 to allow more time to > think > > > > about > > > > > it and discuss it further? > > > > > > > > > > Those are my thoughts at this time > > > > > > > > > > > > > > > > > > > > On Fri, Jun 11, 2021 at 12:04 PM Ismael Juma <ism...@juma.me.uk> > > > wrote: > > > > > > > > > > > I'm personally not sure about this. We have not maintained the > > > existing > > > > > > log4j-appender very actively, so are we sure that we can do a > > better > > > > job > > > > > > than the log4j community? > > > > > > > > > > > > Ismael > > > > > > > > > > > > On Tue, May 25, 2021, 6:46 AM Dongjin Lee <dong...@apache.org> > > > wrote: > > > > > > > > > > > > > Hi Kafka dev, > > > > > > > > > > > > > > I'd like to kick-off the voting for KIP-719: Add Log4J2 > Appender. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-719%3A+Add+Log4J2+Appender > > > > > > > > > > > > > > Best, > > > > > > > Dongjin > > > > > > > > > > > > > > -- > > > > > > > *Dongjin Lee* > > > > > > > > > > > > > > *A hitchhiker in the mathematical world.* > > > > > > > > > > > > > > > > > > > > > > > > > > > > *github: <http://goog_969573159/>github.com/dongjinleekr > > > > > > > <https://github.com/dongjinleekr>keybase: > > > > > > https://keybase.io/dongjinleekr > > > > > > > <https://keybase.io/dongjinleekr>linkedin: > > > > > > kr.linkedin.com/in/dongjinleekr > > > > > > > <https://kr.linkedin.com/in/dongjinleekr>speakerdeck: > > > > > > > speakerdeck.com/dongjin > > > > > > > <https://speakerdeck.com/dongjin>* > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > *Dongjin Lee* > > > > > > > > *A hitchhiker in the mathematical world.* > > > > > > > > > > > > > > > > *github: <http://goog_969573159/>github.com/dongjinleekr > > > > <https://github.com/dongjinleekr>keybase: > > > https://keybase.io/dongjinleekr > > > > <https://keybase.io/dongjinleekr>linkedin: > > > kr.linkedin.com/in/dongjinleekr > > > > <https://kr.linkedin.com/in/dongjinleekr>speakerdeck: > > > > speakerdeck.com/dongjin > > > > <https://speakerdeck.com/dongjin>* > > > > > > > > > > > > > -- > > *Dongjin Lee* > > > > *A hitchhiker in the mathematical world.* > > > > > > > > *github: <http://goog_969573159/>github.com/dongjinleekr > > <https://github.com/dongjinleekr>keybase: > https://keybase.io/dongjinleekr > > <https://keybase.io/dongjinleekr>linkedin: > kr.linkedin.com/in/dongjinleekr > > <https://kr.linkedin.com/in/dongjinleekr>speakerdeck: > > speakerdeck.com/dongjin > > <https://speakerdeck.com/dongjin>* > > > -- *Dongjin Lee* *A hitchhiker in the mathematical world.* *github: <http://goog_969573159/>github.com/dongjinleekr <https://github.com/dongjinleekr>keybase: https://keybase.io/dongjinleekr <https://keybase.io/dongjinleekr>linkedin: kr.linkedin.com/in/dongjinleekr <https://kr.linkedin.com/in/dongjinleekr>speakerdeck: speakerdeck.com/dongjin <https://speakerdeck.com/dongjin>*