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