Mark,

I will look at this over the weekend (swamped at work). The approach you outline
sounds good.

Regards,
Oliver

> -----Original Message-----
> From: Mark Womack [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, 27 June 2002 03:48
> To: 'Log4J Developers List'
> Subject: Chainsaw modifications to support SocketHubAppender (and other
> appender types)
> 
> 
> Enclosed is a zip file that contains new and modified to the existing
> Chainsaw (main cvs branch) code to specifically support SocketHubAppenders
> and to allow future enhancements to support other appender types as well.  I
> am submitting this here instead of checking it into cvs directly to solicit
> feedback and discussion on the design and changes.  Oliver is the lead and
> author of Chainsaw, so I am obviously very interested in what he has to say.
> If these we like these changes, I will check them into cvs at that time.
> 
> The zip file contains the files and a jar file.  You can put the jar file
> before the current log4j jar in your classpath and try this functionality
> out right now.  Use at your own risk, these changes have not been
> extensively tested.
> 
> General overview:
> 
> - LoggingReceiver becomes an interface that all logging receiver type
> classes must implement.  Provides to methods to start and stop a receiver,
> etc.
> - ReceiverFactory is a new interface that all receiver factories must
> implement.  ReceiverFactory will be used to create instances of a specific
> logging receiver class.  There are methods that provide for programmatic
> creation via parameters and creation via gui configuration.
> 
> With the above interfaces, it is possible to create
> LoggingReceiver/ReceiverFactory classes for any type of logging source.  I
> created 2 types:
> 
> - SocketReceiver is basically what LoggingReceiver used to be.  It supports
> connections initiated by SocketAppenders.  There is some extra code to keep
> track of all the connections on a given port.
> - SocketReceiverFactory is used to create specific instance of
> SocketReceiver.  It contains a dialog that is used to collect the port
> number from the user which is then used to create an instance.
> - SocketHubReceiver is a new logging receiver.  It supports connections to
> SocketHubAppenders.
> - SocketHubReceiverFactory is used to create specific instances of
> SocketHubReceiver.  It contains a dialog that is used to collect the host
> name and port number from the user which is then used to create an instance.
> - Main has been modified to add a new "Connect" menu.  It uses a new
> ConfigureReceiverAction to use specific instances of ReceiverFactory objects
> to let the user configure and create new logging receiver.  The new
> receivers are attached to the main window and table model and start
> executing.
> 
> Even if folks like these changes, they still need more refinement and clean
> up.  I am willing to take this on as I want to see this enhancement in
> Chainsaw (and LF5 for that matter).
> 
> I would like feedback from folks about the new
> LoggingReceiver/ReceiverFactory interfaces/classes.  I would really like it
> if someone created LoggingReceiver/ReceiverFactory classes for JMSAppender
> or the udp multicast appender we talked about a long time ago.  That would
> be a test of the design and would create some generally useful code.
> 
> Please let me know your feedback.
> 
> -Mark
> 
>  <<chainsaw_mods_v2.zip>> 
> 

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

Reply via email to