You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Scott Deboy <sd...@comotivsystems.com> on 2006/02/27 17:49:15 UTC

RE: Question about having a distributed log4j/Chainsaw environment, receiver/appender combo

Do you need event history? (events created prior to when you started Chainsaw)?  If so, that leaves out the socket-based appenders (at least in 1.2.x).

SocketHubAppender and SocketHubReceiver are not a bad way to go if you don't need event history, but I wouldn't use -blocking- network-based appenders in a server app.  Even wrapping them in AsyncAppender isn't sufficient to prevent possible blocking of the app server if Chainsaw is on a slow link (at least in log4j 1.2.x).

Assuming you're using log4j 1.2.x in the server environment, I'd use one of these combinations:
 - FileAppender and LogFilePatternReceiver or VFSLogFilePatternReceiver (if over ssh)
 - JMSAppender and custom code to write the events to a database and CustomSQLDBReceiver
 - JDBCAppender (http://www.dankomannhaupt.de/projects/) and CustomSQLDBReceiver

The Chainsaw config can be managed by IT and accessed via URL, so if you use log files, it doesn't matter where they are because everyone uses a single configuration file to access the logs (no real need for a centralized server to get the same effect).

When you can use log4j 1.3 in your environment on the appender-side, you could use:
 - DBAppender and DBReceiver (if you don't mind using log4j's schema for logging events)
 - An enhancement to SocketHubAppender that allows you to specify the number of events that are buffered - the buffered events are provided to new SocketHubReceiver clients
 - Two -nonblocking- network appenders and receivers: UDPAppender/Receiver and MulticastAppender/Receiver

Log files are probably the best way to go for now - and the latest version of VFSLogFilePatternReceiver will allow you to access logs accessible via ssh without you having to embed the username/password in the config file (the next update to Chainsaw will support a GUI login window for VFSLogFilePatternReceiver).

I hope this helps, feel free to ask more questions.

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

sdeboy@comotivsystems.com

www.comotivsystems.com



-----Original Message-----
From: Giancarlo V Martinez [mailto:gvmartin@us.ibm.com]
Sent: Mon 2/27/2006 7:43 AM
To: log4j-user@logging.apache.org
Subject: Question about having a distributed log4j/Chainsaw environment, receiver/appender combo
 





I have been asked by my company if it is possible to setup a distributed
environment for log4j and Chainsaw, in which all of our application servers
would be logging to one "Log Server", and multiple Chainsaw clients would
connect to the "Log Server".  That way any user can connect to a central
server and view the logging of all the application servers.

I did some research and I think I need to setup the following environment:
- A SocketAppender on each of the Application Servers
- A SocketReciever on the "Log Server" for each appender/receiver combo
- A SocketHubAppender on the "Log Server" so that multiple chainsaw clients
can connect
- A SocketHubReceiver for each of the Chainsaw clients.

I was wondering if this was even possible, to have logging messages routed
through a server with a SocketReceiver/SocketHubAppender Combination, and
if so how would I set this up?  I could I get the two interfaces to
communicate with each other?

Thank you,
Giancarlo V. Martinez