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