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
ServerSocketAppender.java
Description: Binary data
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>