Hi,
I am running into an issue when using the JMSQueueAppender on Weblogic
application server, where application code talks to SLF4j with Logback as the
underlying logging framework (core+classic).Below my logback.xml configuration.
In this scenario, SLF4j is being initialized before the JNDI context is
available from Weblogic, thus resulting an error like:1:01:19,348 |-ERROR in
ch.qos.logback.classic.net.JMSQueueAppender[JMSQueue] - Error while activating
options for appender named [JMSQueue]. javax.naming.NoInitialContextException:
JNDI subsystem is not ready for use at
javax.naming.NoInitialContextException: JNDI subsystem is not ready for use
at
weblogic.jndi.WLInitialContextFactoryDelegate.newLocalContext(WLInitialContextFactoryDelegate.java:569)...
stacktrace omitted ...
Is there any reconnection/retrycount property that can be set on the
JMSQueueAppender (can't find documentation about it online manual)? Or any
other way of re-initialization?
(N.b. a workaround would be: define scan="true" scanPeriod="10 seconds",
perform a unix 'touch' on logback.xml manually, which will reconfigure the
appender. But by then we might have missed a lot of critical logging not being
sent to the JMS queue).
Copy of JMS appender definition in logback.xml:
<appender name="JMSQueue"
class="ch.qos.logback.classic.net.JMSQueueAppender">
<InitialContextFactoryName> weblogic.jndi.WLInitialContextFactory
</InitialContextFactoryName> <ProviderURL>t3://localhost:7001</ProviderURL>
<QueueConnectionFactoryBindingName> weblogic.jms.ConnectionFactory
</QueueConnectionFactoryBindingName>
<QueueBindingName>jms/foo/barQueue</QueueBindingName> </appender>.... <logger
name="foo.bar.baz" level="INFO"> <appender-ref ref="JMSQueue"/> </logger>
Thanks in advance!
Kind regards,
Rutger
_______________________________________________
Logback-user mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/logback-user