You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Sergey Kadaner (Jira)" <ji...@apache.org> on 2022/07/26 16:29:00 UTC

[jira] [Updated] (LOG4J2-3563) Logging to Kafka is broken

     [ https://issues.apache.org/jira/browse/LOG4J2-3563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Kadaner updated LOG4J2-3563:
-----------------------------------
    Description: 
Upgrading from Log4J2 2.17.1 to 2.17.2 broke our logging to Kafka. 
I went over the changes in the Log4J2 and it can be related to the addition of the "KafkaManager" class.

We have the following configuration:
{code:yaml}
AppenderSet:
  kafka:
    name: kafka
    topic: logs
    syncsend: false
    ignoreExceptions: true
    PatternLayout:
      Pattern: "{\"service_name\":\"${env:SERVICE_NAME}..."
    Property:
      - name: bootstrap.servers
        value: ${env:KAFKA_BOOTSTRAP_SERVERS} {code}
After upgrading to 2.17.2 we are getting the following error on startup:
{noformat}
2022-07-26 19:12:42,674 main ERROR Could not create plugin of type class org.apache.logging.log4j.core.appender.ScriptAppenderSelector for element ScriptAppenderSelector: org.apache.kafka.common.KafkaException: Failed to construct kafka producer org.apache.kafka.common.KafkaException: Failed to construct kafka producer
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:442)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:292)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:319)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:304)
    at org.apache.logging.log4j.core.appender.mom.kafka.DefaultKafkaProducerFactory.newKafkaProducer(DefaultKafkaProducerFactory.java:40)
    at org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager.startup(KafkaManager.java:136)
    at org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender.start(KafkaAppender.java:195)
    at org.apache.logging.log4j.core.appender.AppenderSet.createAppender(AppenderSet.java:129)
    at org.apache.logging.log4j.core.appender.ScriptAppenderSelector$Builder.build(ScriptAppenderSelector.java:96)
    at org.apache.logging.log4j.core.appender.ScriptAppenderSelector$Builder.build(ScriptAppenderSelector.java:46)
    at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124)
    at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1122)
    at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1047)
    at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039)
    at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:651)
    at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:249)
    at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:295)
    at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621)
    at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)
    at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)
    at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
    at org.apache.logging.log4j.core.async.AsyncLoggerContext.start(AsyncLoggerContext.java:76)
    at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
    at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
    at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
    at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)
    at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:55)
    at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)
    at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:363)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)
    at com.mycompany.MyApplication.<clinit>(MyApplication.java:8)
Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
    at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:89)
    at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:48)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:416)
    ... 31 more
{noformat}

  was:
Upgrading from Log4J2 2.17.1 to 2.17.2 broke our logging to Kafka. It went over the changes in the Log4J2 and it can be related to the addition of the "KafkaManager" class.

We have the following configuration:
{code:yaml}
AppenderSet:
  kafka:
    name: kafka
    topic: logs
    syncsend: false
    ignoreExceptions: true
    PatternLayout:
      Pattern: "{\"service_name\":\"${env:SERVICE_NAME}..."
    Property:
      - name: bootstrap.servers
        value: ${env:KAFKA_BOOTSTRAP_SERVERS} {code}
After upgrading to 2.17.2 we are getting the following error on startup:
{noformat}
2022-07-26 19:12:42,674 main ERROR Could not create plugin of type class org.apache.logging.log4j.core.appender.ScriptAppenderSelector for element ScriptAppenderSelector: org.apache.kafka.common.KafkaException: Failed to construct kafka producer org.apache.kafka.common.KafkaException: Failed to construct kafka producer
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:442)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:292)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:319)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:304)
    at org.apache.logging.log4j.core.appender.mom.kafka.DefaultKafkaProducerFactory.newKafkaProducer(DefaultKafkaProducerFactory.java:40)
    at org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager.startup(KafkaManager.java:136)
    at org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender.start(KafkaAppender.java:195)
    at org.apache.logging.log4j.core.appender.AppenderSet.createAppender(AppenderSet.java:129)
    at org.apache.logging.log4j.core.appender.ScriptAppenderSelector$Builder.build(ScriptAppenderSelector.java:96)
    at org.apache.logging.log4j.core.appender.ScriptAppenderSelector$Builder.build(ScriptAppenderSelector.java:46)
    at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124)
    at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1122)
    at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1047)
    at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039)
    at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:651)
    at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:249)
    at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:295)
    at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621)
    at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)
    at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)
    at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
    at org.apache.logging.log4j.core.async.AsyncLoggerContext.start(AsyncLoggerContext.java:76)
    at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
    at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
    at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
    at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)
    at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:55)
    at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)
    at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:363)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)
    at com.mycompany.MyApplication.<clinit>(MyApplication.java:8)
Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
    at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:89)
    at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:48)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:416)
    ... 31 more
{noformat}


> Logging to Kafka is broken 
> ---------------------------
>
>                 Key: LOG4J2-3563
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3563
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.18.0, 2.17.2, 2.17.3
>            Reporter: Sergey Kadaner
>            Priority: Blocker
>
> Upgrading from Log4J2 2.17.1 to 2.17.2 broke our logging to Kafka. 
> I went over the changes in the Log4J2 and it can be related to the addition of the "KafkaManager" class.
> We have the following configuration:
> {code:yaml}
> AppenderSet:
>   kafka:
>     name: kafka
>     topic: logs
>     syncsend: false
>     ignoreExceptions: true
>     PatternLayout:
>       Pattern: "{\"service_name\":\"${env:SERVICE_NAME}..."
>     Property:
>       - name: bootstrap.servers
>         value: ${env:KAFKA_BOOTSTRAP_SERVERS} {code}
> After upgrading to 2.17.2 we are getting the following error on startup:
> {noformat}
> 2022-07-26 19:12:42,674 main ERROR Could not create plugin of type class org.apache.logging.log4j.core.appender.ScriptAppenderSelector for element ScriptAppenderSelector: org.apache.kafka.common.KafkaException: Failed to construct kafka producer org.apache.kafka.common.KafkaException: Failed to construct kafka producer
>     at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:442)
>     at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:292)
>     at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:319)
>     at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:304)
>     at org.apache.logging.log4j.core.appender.mom.kafka.DefaultKafkaProducerFactory.newKafkaProducer(DefaultKafkaProducerFactory.java:40)
>     at org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager.startup(KafkaManager.java:136)
>     at org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender.start(KafkaAppender.java:195)
>     at org.apache.logging.log4j.core.appender.AppenderSet.createAppender(AppenderSet.java:129)
>     at org.apache.logging.log4j.core.appender.ScriptAppenderSelector$Builder.build(ScriptAppenderSelector.java:96)
>     at org.apache.logging.log4j.core.appender.ScriptAppenderSelector$Builder.build(ScriptAppenderSelector.java:46)
>     at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124)
>     at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1122)
>     at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1047)
>     at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039)
>     at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:651)
>     at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:249)
>     at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:295)
>     at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621)
>     at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)
>     at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)
>     at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
>     at org.apache.logging.log4j.core.async.AsyncLoggerContext.start(AsyncLoggerContext.java:76)
>     at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
>     at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
>     at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
>     at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)
>     at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:55)
>     at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)
>     at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
>     at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:363)
>     at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)
>     at com.mycompany.MyApplication.<clinit>(MyApplication.java:8)
> Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
>     at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:89)
>     at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:48)
>     at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:416)
>     ... 31 more
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)