Okay, here's the situation.
The receiver seems to be functioning well. Chainsaw starts it up
fine and
there are no errors in chainsaw's console from the console appender.
I think there are problems with the JmsAppender.
Things that make me think the jmsReceiver is okay:
1)chainsaw starts it up with no problems
2)my little test application also starts it up with no problems
3)I can see it has made a connection to the activemq broker (the
console
output of activemq tells me this).
4 (and this one is the kicker)) if I manually instanciate a new
LoggingEvent() and open the topic the receiever is supposed to be
listening
on and I send the loggingevent as an ObjectMessage, then the
receiver gets
it. Chainsaw posts it and my little test application sees it but
the layout
of the console appender attached to the application throws an error.
Things that make me think the jmsAppender is bad:
1)it's continually sending loggingevents but I don't get any output in
chainsaw or my little test application.
Conversely, the internal logging of log4j says that it's creating
the topic
publisher as a result of being configured with the jmsAppender. And
I can
see in the Activemq console output that it too has made a
connection. So if
it is actually creating the topic and connectiong then it's not
actually
publishing to that topic.
Is there something in my jmsappender config that could be causing the
problems?
Mark
-----Original Message-----
From: Scott Deboy [mailto:[EMAIL PROTECTED]
Sent: Wednesday, February 01, 2006 1:03 PM
To: Log4J Users List
Subject: RE: JmsReceiver Chainsaw problem
Adding an appender to Chainsaw's config is a great way to tell
whether or
not your receiver is receiving events...
If you didn't see them in the console appender added to the
chainsaw config,
jmsreceiver isn't receiving the events.
Look in the chainsaw-log tab for information - there may be an
exception
there related to jmsreceiver.
Can you verify that you are receiving the events and collecting
them at the
jms server (jmsappender working correctly)?
Scott Deboy
COMOTIV SYSTEMS
111 SW Columbia Street Ste. 950
Portland, OR 97201
Telephone: 503.224.7496
Cell: 503.997.1367
Fax: 503.222.0185
[EMAIL PROTECTED]
www.comotivsystems.com
-----Original Message-----
From: DeSantis, MJ Mark @ IS (7179)
[mailto:[EMAIL PROTECTED]
Sent: Wed 2/1/2006 10:49 AM
To: 'Log4J Users List'
Subject: RE: JmsReceiver Chainsaw problem
Thanks for info Scott. It helped.
Okay so since I'm using ActiveMq 3.2.1 I put the geromino-jms-
spec-1.1jar in
my classpath and the activemq-core.jar in there too because another
error
was thrown saying that it wanted a class in that jar. Anyway,
I have chainsaw up with no errors (hooray) except for an "error
creating log
panel" error which I don't think is from what I'm doing because I
get the
same error if I just start chainsaw up normally without the config
file.
When I run my logging test program that sends log messages to the
jms server
I don't seem see anything happening in Chainsaw. I would have
expected a new
tab to pop up with the log events.
My logging test program uses the JoranConfigurator to config log4j
and then
just loops sending out debug messages
Here is the config file the JoranC reads:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="true">
<appender name="jmsAppender"
class="org.apache.log4j.net.JMSAppender">
<param name="ProviderURL" value="tcp://localhost:61616"/>
<param name="InitialContextFactoryName" value
="org.activemq.jndi.ActiveMQInitialContextFactory"/>
<param name="topicBindingName" value="MyTopic"/>
<param name="topicConnectionFactoryBindingName"
value="ConnectionFactory"/>
<param name="LocationInfo" value="false"/>
<param name="Threshold" value="DEBUG"/>
</appender>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="DEBUG"/>
<layout class="org.apache.log4j.SimpleLayout"/>
</appender>
<root>
<level value="debug"/>
<appender-ref ref="jmsAppender"/>
<appender-ref ref="console"/>
</root>
</log4j:configuration>
And when I start chainsaw I use this config file.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration
xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="true">
<plugin name="jmsReceiver"
class="org.apache.log4j.net.JMSReceiver">
<param name="JndiPath"
value="C:\EngineeringTools\jars\ActiveMQ\activemq-3.2.1\conf
\jndi.properties
"/>
<param name="topicName" value="MyTopic"/>
<param name="userId" value="defaultUser"/>
<param name="password" value="defaultPassword"/>
<param name="topicFactoryName" value="ConnectionFactory"/>
<param name="Threshold" value="DEBUG"/>
</plugin>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="DEBUG"/>
<layout class="org.apache.log4j.SimpleLayout"/>
</appender>
<root>
<level value="debug"/>
<appender-ref ref="console"/>
</root>
</log4j:configuration>
Note: the chainsaw config file has an appender in it because I have
another
program that also gets configured with this file and I thought
perhaps with
this other program I could config log4j with a receiver and then
using the
appender print the log messages received out to the console - I
don't know
if that would work or not but I wanted to give it a try.
Anyway, sorry flood this mailing list but I'm desperate. I'd
appreciate any
help or insight into what I'm messing up on.
Thanks again.
Mark
-----Original Message-----
From: Scott Deboy [mailto:[EMAIL PROTECTED]
Sent: Wednesday, February 01, 2006 12:00 PM
To: Log4J Users List
Subject: RE: JmsReceiver Chainsaw problem
It looks like you need to add a jar containing
javax.jms.MessageListener to
your classpath.
Scott Deboy
COMOTIV SYSTEMS
111 SW Columbia Street Ste. 950
Portland, OR 97201
Telephone: 503.224.7496
Cell: 503.997.1367
Fax: 503.222.0185
[EMAIL PROTECTED]
www.comotivsystems.com
-----Original Message-----
From: DeSantis, MJ Mark @ IS (7179)
[mailto:[EMAIL PROTECTED]
Sent: Wed 2/1/2006 9:34 AM
To: 'Log4J Users List'
Subject: JmsReceiver Chainsaw problem
Hello all,
Well, I have program that is appending it's logs with a JmsAppender
and I
want to monitor it will Chainsaw using a JmsReceiver. When I start
chainsaw
up and point it to my receiver configfile I the following error
shows up in
chainsaw's log panel.
Could not instantiate object of class
[org.apache.log4j.net.JMSReceiver].
java.lang.NoClassDefFoundError: javax/jms/MessageListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.log4j.helpers.Loader.loadClass(Loader.java:171)
at
org.apache.log4j.helpers.OptionConverter.instantiateByClassName
(OptionConver
ter.java:340)
at
org.apache.log4j.joran.action.PluginAction.begin(PluginAction.java:48)
at
org.apache.log4j.joran.spi.Interpreter.callBeginAction
(Interpreter.java:239)
at
org.apache.log4j.joran.spi.Interpreter.startElement
(Interpreter.java:131)
at
org.apache.log4j.joran.spi.JoranDocument$StartElementEvent.replay
(JoranDocum
ent.java:225)
at
org.apache.log4j.joran.spi.JoranDocument.replay(JoranDocument.java:
113)
at
org.apache.log4j.joran.JoranConfigurator.doConfigure
(JoranConfigurator.java:
170)
at
org.apache.log4j.joran.JoranConfigurator.doConfigure
(JoranConfigurator.java:
89)
at
org.apache.log4j.chainsaw.LogUI.loadConfigurationUsingPluginClassLoade
r(LogU
I.java:1890)
at org.apache.log4j.chainsaw.LogUI.access$17(LogUI.java:1881)
at org.apache.log4j.chainsaw.LogUI$38$2.run(LogUI.java:1352)
at java.lang.Thread.run(Unknown Source)
This is my receiver config file:
<code>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration
xmlns:log4j="http://jakarta.apache.org/log4j/
<http://jakarta.apache.org/log4j/> " debug="true">
<plugin name="jmsReceiver"
class="org.apache.log4j.net.JMSReceiver">
<param name="Application" value="RemoteTask"/>
<param name="JndiPath"
value="C:\EngineeringTools\jars\ActiveMQ\activemq-3.2.1\conf
\jndi.properties
"/>
<param name="topicName" value="MyTopic"/>
<param name="userId" value="defaultUser"/>
<param name="password" value="defaultPassword"/>
<param name="topicFactoryName"
value="javax.jms.TopicConnectionFactory"/>
<param name="Threshold" value="DEBUG"/>
</plugin>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="DEBUG"/>
<layout class="org.apache.log4j.SimpleLayout"/>
</appender>
<root>
<level value="debug"/>
<appender-ref ref="console"/>
</root>
</log4j:configuration>
</code>
I'm using chainsaw that comes with alpha-7 and the log4j-jms-
alpha7.jar is
in my classpath when I startup chainsaw Is there anyone who might
know what
I'm doing wrong? thanks.
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]