You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by Oliver Burn <ol...@puppycrawl.com> on 2002/06/27 09:19:16 UTC
RE: Chainsaw modifications to support SocketHubAppender (and other appender types)
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:mwomack@bevocal.com]
> 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: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>