> 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>*

Reply via email to