The Kafka client library spawns its own threads, so this recursive logging is most likely done on another thread. That explains why the AppenderControl prevention does not work.
So we should keep the prevention in KafkaAppender. On Thu, May 11, 2017 at 2:50 PM, Apache <[email protected]> wrote: > How does AppenderControl not prevent recursive logging? If the appender > gets called a second time on the thread then it will ignore the event. If > the appender or Kafka are creating new threads that are logging then you > could get the behavior you mention, but I don't see how that could be > handled generically. I think the FlumeAppender may do something to prevent > this as well. > > Ralph > > > On May 11, 2017, at 5:39 AM, Mikael Ståldal <[email protected]> > wrote: > > > > The Kafka appender uses the Kafka client library, and that client library > > does it's own logging through SLF4J, it always emits a few log messages > at > > DEBUG level on each message sent. > > > > If you have log4j-slf4j-impl in classpath and enable DEBUG logging > through > > KafkaAppender, you will get recursive logging, and the application gets > > stuck. > > > > The recursive logging prevention in AppenderControl does not protect > > against this as far as I can see. I have put in some protection in > > KafkaAppender: > > https://github.com/apache/logging-log4j2/blob/master/ > log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/ > KafkaAppender.java#L133 > > > > Without this, you get recursive logging. > > > > -- > > [image: MagineTV] > > > > *Mikael Ståldal* > > Senior software developer > > > > *Magine TV* > > [email protected] > > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > > > > Privileged and/or Confidential Information may be contained in this > > message. If you are not the addressee indicated in this message > > (or responsible for delivery of the message to such a person), you may > not > > copy or deliver this message to anyone. In such case, > > you should destroy this message and kindly notify the sender by reply > > email. > > > -- [image: MagineTV] *Mikael Ståldal* Senior software developer *Magine TV* [email protected] Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com Privileged and/or Confidential Information may be contained in this message. If you are not the addressee indicated in this message (or responsible for delivery of the message to such a person), you may not copy or deliver this message to anyone. In such case, you should destroy this message and kindly notify the sender by reply email.
