At 15:17 11.07.2002 -0700, Mark Womack wrote: > > Using the java.io.Externalizable interface is certain to increase > > performance but at the cost of backward compatibility. > >So, I have been thinking about how we might avoid breaking backward >compatibility... > >What if we did not actually implement the Externalizable interface. What if >we created a new appender that does whatever the Externalizable interface >would do (ie serialize the LoggingEvent across the socket in a custom way)? >Pending the acceptance of the Receiver design, we would write a matching >Receiver to re-integrate the data on the receiving side. Then it is just a >matter of using the appender/receiver set to get faster performance. The >older code could still use the existing Serializable interface for the >current SocketAppender/SocketHubAppender without being affected.
That's an interesting idea. It preserves backward compatibility but has the disadvantage condemning existing services to poor performance. >This does not address the request to add more info to the LoggingEvent, like >the ip address of the machine the event originated from. Oh, right. How about just using the MDC, as in MDC.put("ip", "128.178.45.4") on the client and retrieving it with MDC.get("ip") on the receiver side? Wouldn't that work? >What do you think? I think it would be a very interesting exercise. >-Mark -- Ceki -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>