You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Leung Wang Hei <ge...@yahoo.com.hk> on 2014/06/03 13:43:00 UTC

Forward activemq log to a topic on itself via Log4J JMS appender

We have a tool to hook to a well-known topics to receive logging from all
applications.  Now we would like to reuse this topic to monitor some special
logging (e.g. network bridge down) of ActiveMQ itself.  

Enabling jms appender in log4j.properties (see below) always causes start up
error:

*log4j.properties*

log4j.rootLogger=INFO, stdout, jms
 
## Be sure that ActiveMQ messages are not logged to &#39;jms&#39; appender
log4j.logger.org.apache.activemq=INFO, stdout
 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %-5p %c - %m%n
 
## Configure &#39;jms&#39; appender. You&#39;ll also need jndi.properties
file in order to make it work
log4j.appender.jms=org.apache.log4j.net.JMSAppender
log4j.appender.jms.InitialContextFactoryName=org.apache.activemq.jndi.ActiveMQInitialContextFactory
log4j.appender.jms.ProviderURL=tcp://localhost:61616
log4j.appender.jms.TopicBindingName=logTopic
log4j.appender.jms.TopicConnectionFactoryBindingName=ConnectionFactory



*activemq log*

log4j:ERROR Error while activating options for appender named [jms].
javax.jms.JMSException: Could not connect to broker URL:
tcp://localhost:61616. Reason: java.net.ConnectException: Con
ction refused: connect
        at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
        at
org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:293)
        at
org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:238)
        at
org.apache.activemq.ActiveMQConnectionFactory.createTopicConnection(ActiveMQConnectionFactory.java:214)
        at
org.apache.log4j.net.JMSAppender.activateOptions(JMSAppender.java:213)
        at
org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)
        at
org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)
        at
org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)

I understand the error is because, log4j starts before AMQ.  Could we have a
delayed log4j startup?  Or get a smart log stream within AMQ itself?



--
View this message in context: http://activemq.2283324.n4.nabble.com/Forward-activemq-log-to-a-topic-on-itself-via-Log4J-JMS-appender-tp4681605.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.