Thanks Scott,

I tried your suggestion and got some odd behavior.  At first, it created a tab in chainsaw, recorded one message, and stopped.

I tried repeatedly stopping and starting everything, and even taking all other appenders out, but it never created the tab after that one time.

I do notice in the chainsaw log that whenever application logging occurs, that a new connector thread is started, it waits, get a successful connection and exits.

Any other ideas?

tia,

Bill


Scott Deboy wrote:
Change the order of appenders in your rootCategory entry, so that the
chainsaw appender is first in the list.  

The reason: logging event changed between 1.2.x and 1.3 - events sent by
a 1.2.x socketappender can't contain location info (file, line, class,
etc) or MDC entries if you want them to be received by a log4j 1.3
socketreceiver (Chainsaw v2).

Scott

-----Original Message-----
From: Bill Harrelson [mailto:[EMAIL PROTECTED]] 
Sent: Friday, November 04, 2005 1:00 PM
To: Log4J Users List
Subject: Re: Help getting started with Chainsaw V2

The idea of using SocketHubAppender was very helpful, in theory for what
I want,  but I'm having trouble getting it to work.  Logging is working
fine to stdout and weblog, but chainsaw doesn't see anything.  It
doesn't even create a tab for the receiver.

Here's my log4j config file:
log4j.rootCategory=INFO, stdout, weblog , chainsaw
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{DATE} [%c{2}]: %-5p:%x
%m%n

log4j.appender.weblog=org.apache.log4j.RollingFileAppender
log4j.appender.weblog.File=C:/jakarta-tomcat-4.1.24/webapps/Root/logs/RO
OTlog4j.html 

log4j.appender.weblog.MaxBackupIndex=100
log4j.appender.weblog.layout=org.apache.log4j.HTMLLayout

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=C:/jakarta-tomcat-4.1.24/logs/log4jROOT.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.MaxBackupIndex=100
log4j.appender.R.layout.ConversionPattern=%d{DATE} [%c{1}]: %-5p:%x %m%n

log4j.appender.chainsaw=org.apache.log4j.net.SocketHubAppender
log4j.appender.chainsaw.Port=7449

Here's my chainsaw config file:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration >
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" 
debug="true">

<plugin name="Extract Receiver" 
class="org.apache.log4j.net.SocketReceiver">
  <param name="Port" value="4560" />
  <level value="info" />
</plugin>

<plugin name="PL-LMD Receiver" 
class="org.apache.log4j.net.SocketHubReceiver">
  <param name="Host" value="localhost" />
  <param name="Port" value="7449" />
  <param name="reconnectionDelay" value="30000" />
  <level value="info" />
</plugin>

<root>
<level value="debug" />
</root>

</log4j:configuration>

Here's the last few entries in my Chainsaw log file:
<log4j:event logger="org.apache.log4j.net.SocketHubReceiver" 
timestamp="1131136854624" sequenceNumber="73" level="DEBUG" 
thread="Thread-18">
<log4j:message><![CDATA[Starting a new connector
thread.]]></log4j:message> <log4j:properties>
   <log4j:data name="application" value="log"/>
   <log4j:data name="hostname" value="chainsaw"/>
   <log4j:data name="log4jid" value="47"/> </log4j:properties>
</log4j:event>

<log4j:event logger="org.apache.log4j.net.SocketHubReceiver" 
timestamp="1131136854624" sequenceNumber="74" level="DEBUG" 
thread="Thread-18">
<log4j:message><![CDATA[waiting for 30000 milliseconds before
reconnecting.]]></log4j:message> <log4j:properties>
   <log4j:data name="application" value="log"/>
   <log4j:data name="hostname" value="chainsaw"/>
   <log4j:data name="log4jid" value="48"/> </log4j:properties>
</log4j:event>

<log4j:event logger="org.apache.log4j.net.SocketHubReceiver" 
timestamp="1131136884627" sequenceNumber="75" level="DEBUG" 
thread="Thread-18">
<log4j:message><![CDATA[Attempting connection to
localhost]]></log4j:message> <log4j:properties>
   <log4j:data name="application" value="log"/>
   <log4j:data name="hostname" value="chainsaw"/>
   <log4j:data name="log4jid" value="49"/> </log4j:properties>
</log4j:event>

<log4j:event logger="org.apache.log4j.net.SocketHubReceiver" 
timestamp="1131136885278" sequenceNumber="76" level="DEBUG" 
thread="Thread-18">
<log4j:message><![CDATA[Connection established. Exiting connector
thread.]]></log4j:message> <log4j:properties>
   <log4j:data name="application" value="log"/>
   <log4j:data name="hostname" value="chainsaw"/>
   <log4j:data name="log4jid" value="50"/> </log4j:properties>
</log4j:event>

<log4j:event logger="org.apache.log4j.net.SocketHubReceiver" 
timestamp="1131136892378" sequenceNumber="77" level="DEBUG" 
thread="Thread-18">
<log4j:message><![CDATA[Starting a new connector
thread.]]></log4j:message> <log4j:properties>
   <log4j:data name="application" value="log"/>
   <log4j:data name="hostname" value="chainsaw"/>
   <log4j:data name="log4jid" value="51"/> </log4j:properties>
</log4j:event>

<log4j:event logger="org.apache.log4j.net.SocketHubReceiver" 
timestamp="1131136892688" sequenceNumber="78" level="DEBUG" 
thread="Thread-18">
<log4j:message><![CDATA[waiting for 30000 milliseconds before
reconnecting.]]></log4j:message> <log4j:properties>
   <log4j:data name="application" value="log"/>
   <log4j:data name="hostname" value="chainsaw"/>
   <log4j:data name="log4jid" value="52"/> </log4j:properties>
</log4j:event>

<log4j:event logger="org.apache.log4j.net.SocketHubReceiver" 
timestamp="1131136922691" sequenceNumber="79" level="DEBUG" 
thread="Thread-18">
<log4j:message><![CDATA[Attempting connection to
localhost]]></log4j:message> <log4j:properties>
   <log4j:data name="application" value="log"/>
   <log4j:data name="hostname" value="chainsaw"/>
   <log4j:data name="log4jid" value="53"/> </log4j:properties>
</log4j:event>

<log4j:event logger="org.apache.log4j.net.SocketHubReceiver" 
timestamp="1131136922732" sequenceNumber="80" level="DEBUG" 
thread="Thread-18">
<log4j:message><![CDATA[Connection established. Exiting connector
thread.]]></log4j:message> <log4j:properties>
   <log4j:data name="application" value="log"/>
   <log4j:data name="hostname" value="chainsaw"/>
   <log4j:data name="log4jid" value="54"/> </log4j:properties>
</log4j:event>

I can telnet to port 7449 and get a connection, but I can't figure out
what is happening.
Any ideas?

Any help is appreciated,

Bill

Scott Deboy wrote:

  
SocketReceiver just needs a port to listen on - it's accepting 
connections on a port.  SocketAppender is told the host and port of the
    

  
SocketReceiver - the appender connects to the receiver and sends
    
events.
  
If you change the 'remoteHost' param in your appender config to the IP 
address of the machine running Chainsaw it will work (your Chainsaw 
receiver config is fine).

I forgot one appender/receiver combination that would probably be more 
useful in your case: SocketHubAppender and SocketHubReceiver

The difference between SocketAppender/Receiver and
SocketHubAppender/Receiver:

With SocketAppender and SocketReceiver, the -appender- connects to the 
receiver - the appender can only send events to the single client 
running the socketreceiver

With SocketHubAppender and SocketHubReceiver, this is reversed: the
-receiver- connects to the appender - so you can run Chainsaw from any 
number of clients and connect to the server running a SocketHubAppender

Try out SocketHubAppender and Receiver, and more than one person can 
view the events at the same time, without changing your server 
configuration.

Hope this helps,
Scott
-----Original Message-----
From: Rakesh Patel [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, November 02, 2005 9:41 AM
To: Log4J Users List
Subject: RE: Help getting started with Chainsaw V2

Hi Scott,

Well I ran my app locally and configured the log4j.xml file like this:

	<appender name="socketLogger"
class="org.apache.log4j.net.SocketAppender">
       <param name="RemoteHost" value="localhost"/>
       <param name="Port" value="4445"/>
       <param name="LocationInfo" value="false"/>
   </appender>

Then in Chainsaw set up a new SocketReceiver and gave a port of 4445.

It worked!!!!

Now I have deployed my app to a remote server with the settings above 
but do not know how to configure the SocketReceiver in Chainsaw to 
accept events. I tried to put the ip address of the remote server in 
the listener property but it won't hold.

What am I missing?

Cheers

Rakesh

-----Original Message-----
From: Rakesh Patel
Sent: 02 November 2005 16:37
To: Log4J Users List
Subject: RE: Help getting started with Chainsaw V2


Thank you Scott. I will read through your post carefully.

Can I ask one quick question just in case - can I setup a 
SocketAppender in my remote app sending events on port 4445 which is 
using log4j1.2x and have them received by Chainsaw v2? If so, I can go 
through your mail knowing its possible.

Cheers

Rakesh

-----Original Message-----
From: Scott Deboy [mailto:[EMAIL PROTECTED]]
Sent: 02 November 2005 16:16
To: Log4J Users List
Subject: RE: Help getting started with Chainsaw V2


Resending, hoping spaces make the table display correctly.

-----
Receivers do the work of getting logging events into the log4j 
framework from some external source.
Log4j 1.3 provides receivers that can process events generated by a 
number of logging frameworks, custom SQL databases, and any 
VFS-accessible file system.

Here's a list of event sources and receivers that can process the
events:

Network:
SocketAppender                                  SocketReceiver
UDPAppender                                     UDPReceiver
MulticastAppender                               MulticastReceiver
Log4CXX/Log4PHP/Log4Perl Socket Appender        XMLSocketReciever
Log4Net UDPAppender (using Log4j's DTD schema)  UDPReceiver
java.util.logging SocketHandler                 XMLSocketReceiver using
UtilLoggingXMLDecoder

Database:
DBAppender (log4j-defined schema)               DBReceiver
Custom schema (you specify the SQL)             CustomSQLDBReceiver

File:
FileAppender using PatternLayout                 LogFilePatternReceiver
(must be accessible as a URL)
VFS-supported file systems (SSH, FTP, etc) VFSLogFilePatternReceiver

You can also open existing logging files stored using log4j's XMLLayout
    

  
or java.util.logging's XMLFormatter from the File menu.

To automatically configure receivers in Chainsaw, create a log4j.xml 
configuration file containing 'plugin' entries, similar to 'appender'
entries, but they define receiver configurations.

You can find an example receiver config file on Chainsaw's Welcome 
tab's
toolbar: the 'View example receiver configuration' button.  

Create your own configuration file.  Select 'view, show 
application-wide preferences' menu, specify the URL to your config file
    

  
in the automatic configuration URL box and restart Chainsaw.

You can also define many receivers from inside the Chainsaw GUI - 
select the 'view, show receivers' menu item.  From there you can create
    

  
new receivers, delete receivers, change existing receiver 
configurations, start and stop receivers, etc.

Scott

-----Original Message-----
From: Rakesh Patel [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, November 02, 2005 7:38 AM
To: Log4J Users List
Subject: Help getting started with Chainsaw V2

Hi,

Must have missed something!

I have my log4j (actually nlog4j) set up quite nicely. I deployed 
recently to our production boxes and thought it would be good to keep 
an eye on it remotely. I had a little success with an Eclipse plugin 
called Ganymede and a corresponding SocketAppender.

Anyway, Chainsaw looks much better so I installed it (via WebStart) and
    

  
started the tutorial. I know understand the GUI. However, where's the 
information on how to setup log4j? I do not think I can remotely access
    

  
files on the boxes so I thought functionality like the SocketAppender 
would be good.

Can anyone tell me or point me to the information on how to configure 
log4j to send Chainsaw events?

Thanks

Rakesh


American Express Investments and American Express Independent Financial
    

  
Advisers are marketing names for American Express Financial Services 
Europe Limited, a separate corporation within the American Express 
group of companies.  American Express Financial Services Europe Limited
    

  
is authorised and regulated by, and is entered into the register (No.
190853 www.fsa.gov.uk/register/) of, the Financial Services Authority 
and a member of the London Stock Exchange. Registered in England No.
3614902. Registered address: 230 Blackfriars Road, London SE1 8NW. Vat 
No. 740 4143 68.

The information in this email and any attachments is confidential and 
intended solely for the attention and use of the named addressee(s). It
    

  
may be subject to legal, professional or other privilege and further 
distribution of it is strictly prohibited without our authority.  If 
you are not the intended recipient, you are not authorised to and must 
not disclose, copy, distribute, or retain this message or any part of 
it, and should notify us immediately.


---------------------------------------------------------------------
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]



American Express Investments and American Express Independent Financial
    

  
Advisers are marketing names for American Express Financial Services 
Europe Limited, a separate corporation within the American Express 
group of companies.  American Express Financial Services Europe Limited
    

  
is authorised and regulated by, and is entered into the register (No.
190853 www.fsa.gov.uk/register/) of, the Financial Services Authority 
and a member of the London Stock Exchange. Registered in England No.
3614902. Registered address: 230 Blackfriars Road, London SE1 8NW. Vat 
No. 740 4143 68.

The information in this email and any attachments is confidential and 
intended solely for the attention and use of the named addressee(s). It
    

  
may be subject to legal, professional or other privilege and further 
distribution of it is strictly prohibited without our authority.  If 
you are not the intended recipient, you are not authorised to and must 
not disclose, copy, distribute, or retain this message or any part of 
it, and should notify us immediately.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



American Express Investments and American Express Independent Financial
    

  
Advisers are marketing names for American Express Financial Services 
Europe Limited, a separate corporation within the American Express 
group of companies.  American Express Financial Services Europe Limited
    

  
is authorised and regulated by, and is entered into the register (No.
190853 www.fsa.gov.uk/register/) of, the Financial Services Authority 
and a member of the London Stock Exchange. Registered in England No.
3614902. Registered address: 230 Blackfriars Road, London SE1 8NW. Vat 
No. 740 4143 68.

The information in this email and any attachments is confidential and 
intended solely for the attention and use of the named addressee(s). It
    

  
may be subject to legal, professional or other privilege and further 
distribution of it is strictly prohibited without our authority.  If 
you are not the intended recipient, you are not authorised to and must 
not disclose, copy, distribute, or retain this message or any part of 
it, and should notify us immediately.


---------------------------------------------------------------------
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]



 

    


---------------------------------------------------------------------
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]

Reply via email to