Enclosed is a new appender, ServerSocketAppender.java.  Please consider it
for inclusion in the log4j project.  If there are concerns with the source
or design, please let me know so I can correct them.

ServerSocketAppender borrows heavily from the SocketAppender, and the code
will look remarkably the same.  But instead of connecting to a remote
socket, ServerSocketAppender creates a ServerSocket object and then accepts
any number of connections by remote clients.  When a log event is to be
appended, the event is sent to the set of current connections.  If an error
is encountered sending the event, the connection is dropped.  No attempt is
made to reconnect since it is the responsibility of the client to make the
connection to begin with.

Why ServerSocketAppender?  If you have a group of developers accessing the
same logging event source server, each one will need their own
SocketAppender defined to pump log events to their client.  Add another
developer, add another SocketAppender.  With ServerSocketAppender, you set
up the appender once, let everyone know the port number and then have their
clients connect to it when ever they want to.  It is always there, ready to
send you log events.  It also conserves socket ports since you only need one
port instead of a port per SocketAppender.

I am working on modifications to Chainsaw so that it can actively initiate
connections with ServerSocketAppenders instead of only passively accept
connections from SocketAppenders.  Then you could use it to connect to any
number of sources.

If you have any questions, or concerns, please let me know.

thanks,
-Mark

Attachment: ServerSocketAppender.java
Description: Binary data

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

Reply via email to