Ralph, are you going to work on this issue?

On Mon, Oct 17, 2016 at 2:04 PM, Mikael Ståldal <mikael.stal...@magine.com>
wrote:

> 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().
>
> On Sat, Aug 20, 2016 at 12:13 AM, Bill Okara <billok...@gmail.com> wrote:
>
>> Ralph,
>>
>> thanks! created jira:
>> https://issues.apache.org/jira/browse/LOG4J2-1535
>>
>> I guess I still wanted the ClassLoaderContextSelector, as I wanted
>> each webapp to have it's own config (log to different target etc), but
>> just shared same jars. so the intention is to have all log related
>> jars in tomcat/lib, and have log4j2.xml in WEB-INF/classes.
>>
>> Another reason to have log related jars in tomcat/lib is to have some
>> common jars to log using log4j2 too...
>>
>> Thanks,
>> Bill
>>
>>
>> On Fri, Aug 19, 2016 at 3:17 PM, Ralph Goers <ralph.go...@dslextreme.com>
>> wrote:
>> > So they are being kicked off by the webapp initialization. That follows
>> what I was thinking. I have a suspicion I may have to put in some code to
>> check if the logging classes are in the same ClassLoader as the current
>> ClassLoader. If they aren’t we probably need to kick off logging
>> initialization there first and then continue with the current
>> initialization. I need to look at the code again and try a few things
>> though.
>> >
>> > Is it possible you could create a Jira for this and attach a sample
>> project that demonstrates the problem?
>> >
>> > Another workaround to this is to not use the
>> ClassLoaderContextSelector. If you really want a common configuration
>> across all your web apps then you can use the BasicContextSelector.
>> However, that may cause problems if you try to use hot deployment.
>> >
>> > Ralph
>> >
>> >
>> >> On Aug 19, 2016, at 1:52 PM, Bill Okara <billok...@gmail.com> wrote:
>> >>
>> >> Hi Gary,
>> >>
>> >> actually the full stack was attached in that email already, please let
>> >> me know if you can't find them...
>> >> (Attachments: stacktrace_webinf.txt (5 kb)   stacktrace_tomcatlib.txt
>> (7 kb) )
>> >>
>> >> Yeah, that's kinda my understanding (or guess) too. That is, by
>> >> putting the log related jars in tomcat/lib, when the initializing the
>> >> log4j2.xml, it's trying to initialize the KafkaAppender, whose jars
>> >> are in tomcat/lib, thus it's trying to initialize the log4j config for
>> >> that context.
>> >>
>> >> I was able to hack/workaround the issue by adding a log4j2-test.xml in
>> >> WEB-INF/classes, and not using the KafkaAppender in the
>> >> log4j2-test.xml. In that case, when initializing for tomcat/lib, the
>> >> log4j2-test.xml got picked up before the log4j2.xml, and that kinda
>> >> avoided the problem.
>> >>
>> >> But the caveat is that no longer can use KafkaAppender for anything
>> >> logged by jars in tomcat/lib...
>> >>
>> >> I guess KafkaAppender is a special case that it's using a jar that
>> >> also uses SLF4j/log4j logs.
>> >>
>> >> By having the jars in tomcat/lib seems like pretty clean for webapps
>> >> to share same logging implementation and use their specific config.
>> >> but not sure how to better workaround / resolve the issue without
>> >> limiting all jars in tomcat/lib to not using KafkaAppender in this
>> >> case.
>> >>
>> >> comments?
>> >>
>> >>
>> >> Thanks!
>> >> Bill
>> >>
>> >>
>> >> On Fri, Aug 19, 2016 at 1:07 PM, Ralph Goers <
>> ralph.go...@dslextreme.com <mailto:ralph.go...@dslextreme.com>> wrote:
>> >>> I have a suspicion the key part of the stack trace isn’t included.  I
>> am guessing that the code that causes the first call to the Kafka appender
>> is in your web app.  This causes the ClassLoaderContextSelector to
>> initialize Log4j for the web app ClassLoader. Kafka itself is in
>> tomcat/lib. When it logs it causes Log4j to initialize for the tomcat/lib
>> ClassLoader.  That is why you see the second LoggerContext start.
>> >>>
>> >>> However, I would really like to see the stack frames just below where
>> you stopped to see what is causing the initial Log4j initialization.
>> >>>
>> >>> Ralph
>> >>>
>> >>>
>> >>>
>> >>>> On Aug 19, 2016, at 11:17 AM, Bill Okara <billok...@gmail.com
>> <mailto:billok...@gmail.com>> wrote:
>> >>>>
>> >>>> thanks for guiding me through this, Gary!
>> >>>>
>> >>>> Attached are 2 stack dumps, one is with the log related jars packaged
>> >>>> in WEB-INF/lib, the other is having the jars provided in tomcat/lib,
>> >>>> and below are what I noticed; that is,
>> >>>> in WEB-INF/lib case, when initializing the
>> >>>> private static final Logger log = LoggerFactory.getLogger(KafkaP
>> roducer.class);
>> >>>>
>> >>>> the getLogger seemed returned a logger right the way, vs in
>> tomcat/lib
>> >>>> case, it's trying to go through the getContext etc init stack, which
>> >>>> in turn hit the KafkaProducer.java:188 again and had the NULL log at
>> >>>> that case...
>> >>>>
>> >>>> comments?
>> >>>>
>> >>>> In WEB-INF/lib:
>> >>>> at org.apache.kafka.common.config.ConfigDef.define(ConfigDef.
>> java:346)
>> >>>> at org.apache.kafka.clients.producer.ProducerConfig.<clinit>(
>> ProducerConfig.java:220)
>> >>>> at org.apache.kafka.clients.producer.KafkaProducer.<init>(Kafka
>> Producer.java:188)
>> >>>> at org.apache.logging.log4j.core.appender.mom.kafka.DefaultKafk
>> aProducerFactory.newKafkaProducer(DefaultKafkaProducerFactory.java:29)
>> >>>>
>> >>>> In tomcat/lib:
>> >>>> at org.apache.kafka.clients.producer.ProducerConfig.<clinit>(
>> ProducerConfig.java:220)
>> >>>> at org.apache.kafka.clients.producer.KafkaProducer.<init>(Kafka
>> Producer.java:188)
>> >>>> at org.apache.logging.log4j.core.appender.mom.kafka.DefaultKafk
>> aProducerFactory.newKafkaProducer(DefaultKafkaProducerFactory.java:29)
>> >>>> at org.apache.logging.log4j.core.appender.mom.kafka.KafkaManage
>> r.startup(KafkaManager.java:86)
>> >>>> at org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppend
>> er.start(KafkaAppender.java:96)
>> >>>> at org.apache.logging.log4j.core.config.AbstractConfiguration.s
>> tart(AbstractConfiguration.java:247)
>> >>>> at org.apache.logging.log4j.core.LoggerContext.setConfiguration
>> (LoggerContext.java:496)
>> >>>> at org.apache.logging.log4j.core.LoggerContext.reconfigure(Logg
>> erContext.java:566)
>> >>>> at org.apache.logging.log4j.core.LoggerContext.reconfigure(Logg
>> erContext.java:582)
>> >>>> at org.apache.logging.log4j.core.LoggerContext.start(LoggerCont
>> ext.java:217)
>> >>>> at org.apache.logging.log4j.core.impl.Log4jContextFactory.getCo
>> ntext(Log4jContextFactory.java:152)
>> >>>> at org.apache.logging.log4j.core.impl.Log4jContextFactory.getCo
>> ntext(Log4jContextFactory.java:45)
>> >>>> at org.apache.logging.log4j.LogManager.getContext(LogManager.
>> java:194)
>> >>>> at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContex
>> t(AbstractLoggerAdapter.java:103)
>> >>>> at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4j
>> LoggerFactory.java:43)
>> >>>> at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger
>> (AbstractLoggerAdapter.java:42)
>> >>>> at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jL
>> oggerFactory.java:29)
>> >>>> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
>> >>>> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
>> >>>> at org.apache.kafka.clients.producer.KafkaProducer.<clinit>(
>> KafkaProducer.java:131)
>> >>>> at org.apache.logging.log4j.core.appender.mom.kafka.DefaultKafk
>> aProducerFactory.newKafkaProducer(DefaultKafkaProducerFactory.java:29)
>> >>>>
>> >>>>
>> >>>>
>> >>>> Thanks,
>> >>>> Bill
>> >>>>
>> >>>>
>> >>>> On Fri, Aug 19, 2016 at 1:46 AM, Gary Gregory <
>> garydgreg...@gmail.com <mailto:garydgreg...@gmail.com> <mailto:
>> garydgreg...@gmail.com <mailto:garydgreg...@gmail.com>>> wrote:
>> >>>>> Hello Bill,
>> >>>>>
>> >>>>> What you could do is start the whole thing in a debugger and put a
>> >>>>> breakpoint
>> >>>>> in org.apache.kafka.clients.producer.KafkaProducer.KafkaProduce
>> r(ProducerConfig,
>> >>>>> Serializer<K>, Serializer<V>) here:
>> >>>>>
>> >>>>>       } catch (Throwable t) {
>> >>>>>           // call close methods if internal objects are already
>> >>>>> constructed
>> >>>>>           // this is to prevent resource leak. see KAFKA-2121
>> >>>>> ---> BREAKPOINT            close(0, TimeUnit.MILLISECONDS, true);
>> >>>>>           // now propagate the exception
>> >>>>>           throw new KafkaException("Failed to construct kafka
>> producer",
>> >>>>> t);
>> >>>>>       }
>> >>>>>
>> >>>>> This line 333 in the latest client.
>> >>>>>
>> >>>>> Then you can dump the exception on the console and tell us what it
>> is
>> >>>>> because we are not seeing it in the log since the close method
>> causes its
>> >>>>> own NPE.
>> >>>>>
>> >>>>> Finding what the Throwable is will be a lot.
>> >>>>>
>> >>>>> Gary
>> >>>>>
>> >>>>> On Thu, Aug 18, 2016 at 11:30 PM, Bill Okara <billok...@gmail.com
>> <mailto:billok...@gmail.com> <mailto:billok...@gmail.com <mailto:
>> billok...@gmail.com>>> wrote:
>> >>>>>
>> >>>>>> Thanks, Gary,
>> >>>>>>
>> >>>>>> you're probably right, the log in log.info <http://log.info/> <
>> http://log.info/ <http://log.info/>> seems to be the culprit.
>> >>>>>>
>> >>>>>> By doing the 'trace' in log4j2.xml, it seems that the
>> initialization
>> >>>>>> for the WebappClassLoader actually finished OK, but when
>> initializing
>> >>>>>> for the Parent Classloader, it's when the NullPointerException
>> >>>>>> happened. Any idea why? or did the config in the previously
>> attached
>> >>>>>> src look legit?
>> >>>>>>
>> >>>>>> Thanks!
>> >>>>>> Bill
>> >>>>>>
>> >>>>>> -------
>> >>>>>> 2016-08-19 00:00:28,569 localhost-startStop-1 DEBUG Configuration
>> >>>>>> XmlConfiguration[location=jndi:/localhost/log4j-appender/
>> WEB-INF/classes/
>> >>>>>> log4j2.xml]
>> >>>>>> initialized
>> >>>>>> 2016-08-19 00:00:28,570 localhost-startStop-1 DEBUG Starting
>> >>>>>> configuration XmlConfiguration[location=jndi:/localhost/log4j-
>> >>>>>> appender/WEB-INF/classes/log4j2.xml]
>> >>>>>> 2016-08-19 00:00:28,579 localhost-startStop-1 DEBUG PluginManager
>> >>>>>> 'Converter' found 41 plugins
>> >>>>>> 2016-08-19 00:00:28,579 localhost-startStop-1 DEBUG Starting
>> >>>>>> OutputStreamManager SYSTEM_OUT.false.false-3
>> >>>>>> 2016-08-19 00:00:28,579 localhost-startStop-1 DEBUG Starting
>> >>>>>> LoggerContext[name=1f32e575,
>> >>>>>> org.apache.logging.log4j.core.LoggerContext@28b2955f]...
>> >>>>>> 2016-08-19 00:00:28,580 localhost-startStop-1 DEBUG Reconfiguration
>> >>>>>> started for context[name=1f32e575] at URI null
>> >>>>>> (org.apache.logging.log4j.core.LoggerContext@28b2955f) with
>> optional
>> >>>>>> ClassLoader: null
>> >>>>>> 2016-08-19 00:00:28,580 localhost-startStop-1 DEBUG Using
>> >>>>>> configurationFactory
>> >>>>>> org.apache.logging.log4j.core.config.ConfigurationFactory$Fa
>> ctory@42223c17
>> >>>>>> 2016-08-19 00:00:28,580 localhost-startStop-1 TRACE Trying to find
>> >>>>>> [log4j2-test1f32e575.properties] using context class loader
>> >>>>>> WebappClassLoader
>> >>>>>> context: /log4j-appender
>> >>>>>> delegate: false
>> >>>>>> repositories:
>> >>>>>>   /WEB-INF/classes/
>> >>>>>> ----------> Parent Classloader:
>> >>>>>> java.net.URLClassLoader@1f32e575
>> >>>>>> class loader.
>> >>>>>> 2016-08-19 00:00:28,598 localhost-startStop-1 TRACE Trying to find
>> >>>>>> [log4j2.jsn] using ClassLoader.getSystemResource().
>> >>>>>> 2016-08-19 00:00:28,599 localhost-startStop-1 TRACE Trying to find
>> >>>>>> [log4j2.xml] using context class loader WebappClassLoader
>> >>>>>> context: /log4j-appender
>> >>>>>> delegate: false
>> >>>>>> repositories:
>> >>>>>>   /WEB-INF/classes/
>> >>>>>> ----------> Parent Classloader:
>> >>>>>> java.net.URLClassLoader@1f32e575
>> >>>>>> .
>> >>>>>> 2016-08-19 00:00:28,602 localhost-startStop-1 DEBUG Initializing
>> >>>>>> configuration XmlConfiguration[location=/opt
>> /java/apache/apache-tomcat-
>> >>>>>> 7.0.70/webapps/log4j-appender/WEB-INF/classes/log4j2.xml]
>> >>>>>> 2016-08-19 00:00:28,603 localhost-startStop-1 DEBUG Installed
>> script
>> >>>>>> engines
>> >>>>>> ...
>> >>>>>> 016-08-19 00:00:28,619 localhost-startStop-1 DEBUG Configuration
>> >>>>>> XmlConfiguration[location=/opt/java/apache/apache-tomcat-
>> >>>>>> 7.0.70/webapps/log4j-appender/WEB-INF/classes/log4j2.xml]
>> >>>>>> initialized
>> >>>>>> 2016-08-19 00:00:28,619 localhost-startStop-1 DEBUG Starting
>> >>>>>> configuration XmlConfiguration[location=/opt
>> /java/apache/apache-tomcat-
>> >>>>>> 7.0.70/webapps/log4j-appender/WEB-INF/classes/log4j2.xml]
>> >>>>>> Aug 19, 2016 12:00:28 AM org.apache.catalina.core.ContainerBase
>> >>>>>> addChildInternal
>> >>>>>> SEVERE: ContainerBase.addChild: start:
>> >>>>>> org.apache.catalina.LifecycleException: Failed to start component
>> >>>>>> [StandardEngine[Catalina].StandardHost[localhost].StandardCo
>> ntext[/log4j-
>> >>>>>> appender]]
>> >>>>>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.
>> java:153)
>> >>>>>> at org.apache.catalina.core.ContainerBase.addChildInternal(
>> >>>>>> ContainerBase.java:899)
>> >>>>>> at org.apache.catalina.core.ContainerBase.addChild(ContainerBas
>> e.java:875)
>> >>>>>> at org.apache.catalina.core.StandardHost.addChild(StandardHost.
>> java:652)
>> >>>>>> at org.apache.catalina.startup.HostConfig.deployDirectory(
>> >>>>>> HostConfig.java:1260)
>> >>>>>> at org.apache.catalina.startup.HostConfig$DeployDirectory.
>> >>>>>> run(HostConfig.java:2002)
>> >>>>>> at java.util.concurrent.Executors$RunnableAdapter.call(
>> Executors.java:511)
>> >>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> >>>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(
>> >>>>>> ThreadPoolExecutor.java:1142)
>> >>>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(
>> >>>>>> ThreadPoolExecutor.java:617)
>> >>>>>> at java.lang.Thread.run(Thread.java:745)
>> >>>>>> Caused by: java.lang.ExceptionInInitializerError
>> >>>>>> at org.apache.logging.log4j.core.appender.mom.kafka.
>> >>>>>> DefaultKafkaProducerFactory.newKafkaProducer(DefaultKafkaPro
>> ducerFactory.
>> >>>>>> java:29)
>> >>>>>> at org.apache.logging.log4j.core.appender.mom.kafka.KafkaManage
>> r.startup(
>> >>>>>> KafkaManager.java:86)
>> >>>>>> at org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppend
>> er.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.start(
>> >>>>>> LoggerContext.java:249)
>> >>>>>> at org.apache.logging.log4j.core.impl.Log4jContextFactory.getCo
>> ntext(
>> >>>>>> Log4jContextFactory.java:239)
>> >>>>>> at org.apache.logging.log4j.core.config.Configurator.
>> >>>>>> initialize(Configurator.java:157)
>> >>>>>> at org.apache.logging.log4j.web.Log4jWebInitializerImpl.initial
>> izeNonJndi(
>> >>>>>> Log4jWebInitializerImpl.java:167)
>> >>>>>> at org.apache.logging.log4j.web.Log4jWebInitializerImpl.start(
>> >>>>>> Log4jWebInitializerImpl.java:109)
>> >>>>>> at org.apache.logging.log4j.web.Log4jServletContainerInitializ
>> >>>>>> er.onStartup(Log4jServletContainerInitializer.java:57)
>> >>>>>> at org.apache.catalina.core.StandardContext.startInternal(
>> >>>>>> StandardContext.java:5604)
>> >>>>>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.
>> java:147)
>> >>>>>> ... 10 more
>> >>>>>> 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)
>> >>>>>> -------------
>> >>>>>>
>> >>>>>> On Thu, Aug 18, 2016 at 5:40 PM, Gary Gregory <
>> garydgreg...@gmail.com <mailto:garydgreg...@gmail.com> <mailto:
>> garydgreg...@gmail.com <mailto:garydgreg...@gmail.com>>>
>> >>>>>> wrote:
>> >>>>>>> Based on the stack trace, it looks like the Slf4j logger in
>> KafkaProducer
>> >>>>>>> is null:
>> >>>>>>>
>> >>>>>>>       log.info <http://log.info/> <http://log.info/ <
>> http://log.info/>>("Closing the Kafka producer with timeoutMillis = {}
>> >>>>>> ms.",
>> >>>>>>> timeUnit.toMillis(timeout));
>> >>>>>>>
>> >>>>>>> It does not look like timeUnit can be null, so it must be log.
>> >>>>>>>
>> >>>>>>> The root problem of course if that we have an exception thrown in
>> the
>> >>>>>>> KafkaProducer
>> >>>>>>> ctor.
>> >>>>>>>
>> >>>>>>> Gary
>> >>>>>>>
>> >>>>>>> On Thu, Aug 18, 2016 at 3:44 PM, Bill Okara <billok...@gmail.com
>> <mailto:billok...@gmail.com> <mailto:billok...@gmail.com <mailto:
>> billok...@gmail.com>>> wrote:
>> >>>>>>>
>> >>>>>>>> tried again, seemed like the .out extension got filtered out by
>> mail
>> >>>>>>>> server...
>> >>>>>>>>
>> >>>>>>>> On Thu, Aug 18, 2016 at 4:41 PM, Bill Okara <billok...@gmail.com
>> <mailto:billok...@gmail.com> <mailto:billok...@gmail.com <mailto:
>> billok...@gmail.com>>>
>> >>>>>> wrote:
>> >>>>>>>>> attach the catalina.out again, didn't seem to go through last
>> time...
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>> On Thu, Aug 18, 2016 at 4:33 PM, Bill Okara <
>> billok...@gmail.com <mailto:billok...@gmail.com> <mailto:
>> billok...@gmail.com <mailto:billok...@gmail.com>>>
>> >>>>>> wrote:
>> >>>>>>>>>> Hi,
>> >>>>>>>>>>
>> >>>>>>>>>> When trying out the log4j2 Kafka appender, it works ok if all
>> the
>> >>>>>>>>>> log4j2/kafka-client related jars are packaged in the webapp's
>> >>>>>>>>>> WEB-INF/lib, like:
>> >>>>>>>>>>
>> >>>>>>>>>>> ls WEB-INF/lib/
>> >>>>>>>>>> jackson-core-2.8.1.jar
>> >>>>>>>>>> log4j-core-2.6.2.jar
>> >>>>>>>>>> lz4-1.3.0.jar
>> >>>>>>>>>> kafka-clients-0.10.0.1.jar
>> >>>>>>>>>> log4j-slf4j-impl-2.6.2.jar
>> >>>>>>>>>> slf4j-api-1.7.21.jar
>> >>>>>>>>>> log4j-api-2.6.2.jar
>> >>>>>>>>>> log4j-web-2.6.2.jar
>> >>>>>>>>>> snappy-java-1.1.2.6.jar
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> But if the jars are provided in tomcat/lib (for all webapps),
>> and
>> >>>>>> each
>> >>>>>>>>>> webapp will have its own log4j2.xml (as in attached war), then
>> when
>> >>>>>>>>>> launching the webapp, will encounter:
>> >>>>>>>>>>
>> >>>>>>>>>> -----
>> >>>>>>>>>> Caused by: java.lang.NullPointerException
>> >>>>>>>>>>       at org.apache.kafka.clients.produ
>> cer.KafkaProducer.close(
>> >>>>>>>> KafkaProducer.java:658)
>> >>>>>>>>>>       at org.apache.kafka.clients.produ
>> cer.KafkaProducer.<init>(
>> >>>>>>>> KafkaProducer.java:333)
>> >>>>>>>>>>       at org.apache.kafka.clients.produ
>> cer.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)
>> >>>>>>>>>> ---------
>> >>>>>>>>>>
>> >>>>>>>>>> (full stack trace as in attached catalina.out)
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> To reproduce the error, simply:
>> >>>>>>>>>> 1) build the attached webapp, and deploy the output to
>> tomcat/webapps
>> >>>>>>>>>> 2) move the WEB-INF/lib/*.jar to tomcat/lib (make sure
>> WEB-INF/lib is
>> >>>>>>>>>> empty after move)
>> >>>>>>>>>> 3) start tomcat
>> >>>>>>>>>>
>> >>>>>>>>>> Tested with tomcat 7.0.70
>> >>>>>>>>>>
>> >>>>>>>>>> Anyone encounter similar problem? or is this a bug? (log4j2 or
>> >>>>>>>>>> kafka-client bug?)
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> Thanks,
>> >>>>>>>>>> Bill
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> ------------------------------------------------------------
>> ---------
>> >>>>>>>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging
>> .apache.org <mailto:log4j-user-unsubscr...@logging.apache.org>
>> >>>>>>>> For additional commands, e-mail: log4j-user-help@logging.apache
>> .org <mailto:log4j-user-h...@logging.apache.org>
>> >>>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> --
>> >>>>>>> E-Mail: garydgreg...@gmail.com <mailto:garydgreg...@gmail.com> |
>> ggreg...@apache.org <mailto:ggreg...@apache.org>
>> >>>>>>> Java Persistence with Hibernate, Second Edition
>> >>>>>>> <http://www.manning.com/bauer3/ <http://www.manning.com/bauer3/>>
>> >>>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/
>> <http://www.manning.com/tahchiev/>>
>> >>>>>>> Spring Batch in Action <http://www.manning.com/templier/ <
>> http://www.manning.com/templier/>>
>> >>>>>>> Blog: http://garygregory.wordpress.com <
>> http://garygregory.wordpress.com/>
>> >>>>>>> Home: http://garygregory.com/ <http://garygregory.com/>
>> >>>>>>> Tweet! http://twitter.com/GaryGregory <
>> http://twitter.com/GaryGregory>
>> >>>>>>
>> >>>>>> ------------------------------------------------------------
>> ---------
>> >>>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>> <mailto:log4j-user-unsubscr...@logging.apache.org>
>> >>>>>> For additional commands, e-mail: log4j-user-help@logging.apache
>> .org <mailto:log4j-user-h...@logging.apache.org>
>> >>>>>>
>> >>>>>>
>> >>>>>
>> >>>>>
>> >>>>> --
>> >>>>> E-Mail: garydgreg...@gmail.com <mailto:garydgreg...@gmail.com> |
>> ggreg...@apache.org <mailto:ggreg...@apache.org>
>> >>>>> Java Persistence with Hibernate, Second Edition
>> >>>>> <http://www.manning.com/bauer3/ <http://www.manning.com/bauer3/>>
>> >>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/ <
>> http://www.manning.com/tahchiev/>>
>> >>>>> Spring Batch in Action <http://www.manning.com/templier/ <
>> http://www.manning.com/templier/>>
>> >>>>> Blog: http://garygregory.wordpress.com <
>> http://garygregory.wordpress.com/>
>> >>>>> Home: http://garygregory.com/ <http://garygregory.com/>
>> >>>>> Tweet! http://twitter.com/GaryGregory <
>> http://twitter.com/GaryGregory>
>> >>>> <stacktrace_webinf.txt><stacktrace_tomcatlib.txt>
>> >>>> ------------------------------------------------------------
>> ---------
>> >>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>> <mailto:log4j-user-unsubscr...@logging.apache.org> <mailto:
>> log4j-user-unsubscr...@logging.apache.org <mailto:log4j-user-unsubscribe
>> @logging.apache.org>>
>> >>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>> <mailto:log4j-user-h...@logging.apache.org> <mailto:
>> log4j-user-h...@logging.apache.org <mailto:log4j-user-help@loggin
>> g.apache.org>>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>> <mailto:log4j-user-unsubscr...@logging.apache.org>
>> >> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>> <mailto:log4j-user-h...@logging.apache.org>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>>
>>
>
>
> --
> [image: MagineTV]
>
> *Mikael Ståldal*
> Senior software developer
>
> *Magine TV*
> mikael.stal...@magine.com
> 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*
mikael.stal...@magine.com
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.

Reply via email to