Robert,

If I understand correctly, LogJam is intended to test the performance of serialization 
and as a side effect can be viewed as a compatibility check. It would be very helpful 
to have a test suite performing more aggressive compatibility tests. Are we sure that 
log4j 1.2 can flawlessly read all fields serialized with log4j 1.1.3? To ensure future 
growth of the serialization compatibility test suite, the tests should be implemented 
using JUnit and run using a jakarta-ant as a junit task.
 
In the actual tests we could use multiple classloaders to load different versions of 
log4j classes, in particular different versions of org.apache.log4j.spi.LoggingEvent. 
We should try serializing a LoggingEvent to a stream and read it back using various 
versions of LoggingEvent class. 
 
I also feel that we are missing a version tag when we serialize LoggingEvent. If we 
had such a tag, we could adapt the deserialization strategy depending on the incoming 
version. The genius of the current version is that it is generic and should guarantee 
serialization compatibility with future versions. However, what if it does not? What 
if LoggingEvent in log4j 2.0 is so different that it cannot read log4j 1.1.3 events? I 
think the ability to vary the serializations strategy depending on the incoming 
version is a safe bet. What do you think? Regards, Ceki

At 22:33 19.11.2001 -0500, you wrote:
>Here's a brutally simplistic class that spews
>logs, works with 1.2 or 1.1.3:
>http://traxel.com/java/LogJam.java
>
>And here it is packaged as an executable jar
>with Log4j 1.1.3.
>http://traxel.com/java/logjam-1_1_3.jar
>
>java -jar logjam-1_1_3.jar socket:127.0.0.1:4445
>
>(Currently only has a socket appender set up,
>but you can see in the source that it would be
>trivial to set up whatever kind you want)
>
>On Mon, 19 Nov 2001, Robert Bushman wrote:
>
>> On 1.1.3 transmission:
>> I was just using the application that's currently
>> under development at my office, which happens to
>> make extensive use of Log4j, and is currently deployed
>> with 1.1.3. But I've been meaning to write a demo
>> class for use with Chainsaw anyway. I'll toss it
>> in an executable jar with 1.1.3 and post a link.
>
>
>--
>To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>


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

Reply via email to