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=sampleTopic
log4j.appender.jms.TopicConnectionFactoryBindingName=TCF
log4j.logger.it.lucia.test.logging.JMSLogger=fatal,jms
Di norma, andremo a definire le risorse jndi all’interno del nostro application server ma per semplicità diciamo che possiamo anche sorvolare e utilizzare un semplice file di proprietà.
Andiamo quindi a definire la ConnectionFactory e il Topic sul quale volete loggare i messaggi. Ecco cosa vi serve inserire all’interno del file jndi.properties:
java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
java.naming.provider.url = vm://localhost
connectionFactoryNames = TCF
topic.sampleTopic = sampleTopic
Ricordate che il jndi.properties deve essere all’interno del vostro classpath quindi un buon posto dove metterlo è la root dei vostri package in modo poi da trovarlo nella cartella classes una volta che queste verranno compilate.
log.fatal(“Questo testo verrà caricato come messaggio nel Topic sampleTopic”);
Attenti che la chiamata “log.fatal” agirà sul JMSAppender solo quando facciamo la chiamata da dentro la classe JMSLogger, le invocazioni “log.fatal” effettuate da altre classi andranno a loggare sull’appender di default (tipicamente il file di log e il terminale) o sugli appender impostati attraverso il log4j.properties.
Per il momento è tutto. Alla prossima.

Lascia un commento