I am going to write some PluginRegistry test cases tomorrow, but the basics
appear to be working well enough.

Enclosed are some xml files that can demonstrate the use of the plugin
o.a.log4j.net.SocketReceiver.  source.xml is for configuring the source (our
old friend SocketAppender) and sink.xml is for configuring the sink (our new
friend SocketReceiver).

It should be obvious that it would be extremely trivial to create the
equivalent of o.a.log4j.net.SocketServer just by creating a simple main()
that just configured log4j using sink.xml.  AND you could use the exact same
code to receive events on multiple sockets just by updating the sink.xml to
define more SocketReceiver plugins.  AND you could use the exact same code
to receive events via SocketReceiver plugins and other from other sources
like JMS using the JMSReceiver.  In fact, you could configure sink.xml to
receive events from both types of sources simultaneously just by defining
the proper plugin descriptions in sink.xml.

This now makes configuring log4j to receive external/remote events extremely
simple, given that an appropriate receiver plugin has been written.
SocketServer and JMSSink are eventually obsoleted.  Wiring clients like
Chainsaw and LF5 to receive events from other sources than SocketAppender
becomes possible and fairly trivial.

More work, review and test cases are needed, but the basics are now there.
Comments welcome.

-Mark


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

Reply via email to