Author: dejanb
Date: Tue Aug 11 11:57:00 2009
New Revision: 803078

URL: http://svn.apache.org/viewvc?rev=803078&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQ-1473 - adding example for log4j 
jms appender

Added:
    activemq/trunk/assembly/src/release/example/src/Log4jJMSAppenderExample.java
    activemq/trunk/assembly/src/release/example/src/jndi.properties
    activemq/trunk/assembly/src/release/example/src/log4j-jms.properties
Modified:
    activemq/trunk/assembly/src/release/example/build.xml

Modified: activemq/trunk/assembly/src/release/example/build.xml
URL: 
http://svn.apache.org/viewvc/activemq/trunk/assembly/src/release/example/build.xml?rev=803078&r1=803077&r2=803078&view=diff
==============================================================================
--- activemq/trunk/assembly/src/release/example/build.xml (original)
+++ activemq/trunk/assembly/src/release/example/build.xml Tue Aug 11 11:57:00 
2009
@@ -298,4 +298,12 @@
                </java>
        </target>
        
+       <target name="log4j-jms" depends="compile" description="Runs a Log4j 
JMS Appender example">
+               <echo>Running a Log4j JMS Appender example</echo>
+           <java classname="Log4jJMSAppenderExample" fork="yes" 
maxmemory="100M">
+               <classpath refid="javac.classpath" />
+               <jvmarg value="-Dlog4j.configuration=log4j-jms.properties" />
+           </java>
+       </target>
+       
 </project>

Added: 
activemq/trunk/assembly/src/release/example/src/Log4jJMSAppenderExample.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/assembly/src/release/example/src/Log4jJMSAppenderExample.java?rev=803078&view=auto
==============================================================================
--- 
activemq/trunk/assembly/src/release/example/src/Log4jJMSAppenderExample.java 
(added)
+++ 
activemq/trunk/assembly/src/release/example/src/Log4jJMSAppenderExample.java 
Tue Aug 11 11:57:00 2009
@@ -0,0 +1,70 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import javax.jms.Connection;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageListener;
+import javax.jms.Session;
+
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.activemq.command.ActiveMQObjectMessage;
+import org.apache.log4j.Logger;
+import org.apache.log4j.spi.LoggingEvent;
+
+
+/**
+ * A simple example of log4j jms appender in conjuction with ActiveMQ
+ */
+public class Log4jJMSAppenderExample implements MessageListener {
+
+       public Log4jJMSAppenderExample() throws Exception {
+               // create a logTopic topic consumer
+               ActiveMQConnectionFactory factory = new 
ActiveMQConnectionFactory("tcp://localhost:61616");
+               Connection conn = factory.createConnection();
+               Session sess = conn.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
+               conn.start();
+               MessageConsumer consumer = 
sess.createConsumer(sess.createTopic("logTopic"));
+               consumer.setMessageListener(this);
+               // log a message
+               Logger log = Logger.getLogger(Log4jJMSAppenderExample.class);
+               log.info("Test log");
+               // clean up
+               Thread.sleep(1000);
+               consumer.close();
+               sess.close();
+               conn.close();
+               System.exit(1);
+       }
+       
+       public static void main(String[] args) throws Exception {
+               new Log4jJMSAppenderExample();
+       }
+
+       public void onMessage(Message message) {
+               try {
+                       // receive log event in your consumer
+                       LoggingEvent event = 
(LoggingEvent)((ActiveMQObjectMessage)message).getObject();
+                       System.out.println("Received log [" + event.getLevel() 
+ "]: "+ event.getMessage());
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+       
+       
+       
+}
\ No newline at end of file

Added: activemq/trunk/assembly/src/release/example/src/jndi.properties
URL: 
http://svn.apache.org/viewvc/activemq/trunk/assembly/src/release/example/src/jndi.properties?rev=803078&view=auto
==============================================================================
--- activemq/trunk/assembly/src/release/example/src/jndi.properties (added)
+++ activemq/trunk/assembly/src/release/example/src/jndi.properties Tue Aug 11 
11:57:00 2009
@@ -0,0 +1,17 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+## 
+## http://www.apache.org/licenses/LICENSE-2.0
+## 
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+topic.logTopic=logTopic
\ No newline at end of file

Added: activemq/trunk/assembly/src/release/example/src/log4j-jms.properties
URL: 
http://svn.apache.org/viewvc/activemq/trunk/assembly/src/release/example/src/log4j-jms.properties?rev=803078&view=auto
==============================================================================
--- activemq/trunk/assembly/src/release/example/src/log4j-jms.properties (added)
+++ activemq/trunk/assembly/src/release/example/src/log4j-jms.properties Tue 
Aug 11 11:57:00 2009
@@ -0,0 +1,31 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+## 
+## http://www.apache.org/licenses/LICENSE-2.0
+## 
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+log4j.rootLogger=INFO, stdout, jms
+
+## Be sure that ActiveMQ messages are not logged to 'jms' 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 'jms' appender. You'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
\ No newline at end of file


Reply via email to