[ https://issues.apache.org/jira/browse/LOG4J2-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikael Ståldal updated LOG4J2-1535: ----------------------------------- Description: By putting the log4j2 and kafka appender related jars in tomcat/lib (instead of packaged in WEB-INF/lib), got NullPointerException when initializing the log4j2.xml. Steps to reproduce: 1) unzip the attached kafka-test-src.tar.gz, build the project with maven: > mvn clean package 2) get all the dependency jars by: > mvn dependency:copy-dependencies 3) copy the *.jar from $project/target/dependency/*.jar to tomcat/lib/ 4) deploy the war to tomcat 5) start tomcat Will see errors like: Caused by: java.lang.NullPointerException at org.apache.kafka.clients.producer.KafkaProducer.close(KafkaProducer.java:658) at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:333) at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:188) at org.apache.logging.log4j.core.appender.mom.kafka.DefaultKafkaProducerFactory.newKafkaProducer(DefaultKafkaProducerFactory.java:29) at org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager.startup(KafkaManager.java:86) at org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender.start(KafkaAppender.java:96) at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:247) at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:496) at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:566) So this issue is triggered by the fact that the Kafka client library we use itself does logging via SLF4J during initialization. And in this particular web configuration, org.slf4j.LoggerFactory.getLogger(Class) return null during Configuration.start(). was: By putting the log4j2 and kafka appender related jars in tomcat/lib (instead of packaged in WEB-INF/lib), got NullPointerException when initializing the log4j2.xml. Steps to reproduce: 1) unzip the attached kafka-test-src.tar.gz, build the project with maven: > mvn clean package 2) get all the dependency jars by: > mvn dependency:copy-dependencies 3) copy the *.jar from $project/target/dependency/*.jar to tomcat/lib/ 4) deploy the war to tomcat 5) start tomcat Will see errors like: Caused by: java.lang.NullPointerException at org.apache.kafka.clients.producer.KafkaProducer.close(KafkaProducer.java:658) at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:333) at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:188) at org.apache.logging.log4j.core.appender.mom.kafka.DefaultKafkaProducerFactory.newKafkaProducer(DefaultKafkaProducerFactory.java:29) at org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager.startup(KafkaManager.java:86) at org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender.start(KafkaAppender.java:96) at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:247) at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:496) at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:566) This issue is triggered by the fact that the Kafka client library we use itself does logging via SLF4J during initialization. > KafkaAppender NullPointerException when putting the related jars in tomcat lib > ------------------------------------------------------------------------------ > > Key: LOG4J2-1535 > URL: https://issues.apache.org/jira/browse/LOG4J2-1535 > Project: Log4j 2 > Issue Type: Improvement > Components: Core > Affects Versions: 2.6.2 > Environment: Tomcat 7.0.70 > Reporter: Bill Okara > Attachments: kafka-test-src.tar.gz > > > By putting the log4j2 and kafka appender related jars in tomcat/lib (instead > of packaged in WEB-INF/lib), got NullPointerException when initializing the > log4j2.xml. > Steps to reproduce: > 1) unzip the attached kafka-test-src.tar.gz, build the project with maven: > > mvn clean package > 2) get all the dependency jars by: > > mvn dependency:copy-dependencies > 3) copy the *.jar from $project/target/dependency/*.jar to tomcat/lib/ > 4) deploy the war to tomcat > 5) start tomcat > Will see errors like: > Caused by: java.lang.NullPointerException at > org.apache.kafka.clients.producer.KafkaProducer.close(KafkaProducer.java:658) > at > org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:333) > at > org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:188) > at > org.apache.logging.log4j.core.appender.mom.kafka.DefaultKafkaProducerFactory.newKafkaProducer(DefaultKafkaProducerFactory.java:29) > at > org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager.startup(KafkaManager.java:86) > at > org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender.start(KafkaAppender.java:96) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:247) > at > org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:496) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:566) > > So this issue is triggered by the fact that the Kafka client library we use > itself does logging via SLF4J during initialization. And in this particular > web configuration, org.slf4j.LoggerFactory.getLogger(Class) return null > during Configuration.start(). -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org