On Jul 1, 2005, at 11:46 AM, Mark Womack wrote:

[getting ready to duck rotten eggs and tomatoes...]

What about just doing what the deprecation warning has been saying for all of the 1.2 release and getting rid of Category and Priority altogether in
the 1.3 release?  I think everyone has been fairly warned about it.

Simon, is there a pending release of JCL that is waiting for an answer to
this issue?  It is on my list of items to look at in more detail this
weekend. Don't know if I will have an answer to suggest, but I hope to be
more familiar with it.

-Mark


If there was a way of doing that that did not break binary compatibility with applications that used 1.2 but did not reference Category or Priority, I'd might consider it, but I'm not sure that it could be done. The only safe path I see to possibly reaching that is to continue trying to get to binary compatibility with the log4j 1.2.x unit tests and when that is successful, see if they can be eliminated entirely without breaking binary compatibility.

The path I see (or hope is there) out of this swamp is:

1. Get the log4j 1.2 unit tests successfully compiling against CVS HEAD. With the exceptions of DRFATestCase (which doesn't test the external API) and the MyPatternLayout/MyPatternParser classes supporting PatternLayoutTest.test14 which tests custom pattern parsers which may be an extremely rare use case, I've got this working locally and should commit soon.

2. Get the log4j 1.2 unit tests passing against the CVS HEAD when compiled against the CVS HEAD. The most significant roadblock to this is internal logging messages polluting the output. My intended approach to this is to restore the log4j 1.2 behavior (info and higher to the console unless debug="true" on configuration) unless specifically overridden in the configuration file.

3. Get the log4j 1.2 unit tests passed against the CVS HEAD when compiled against log4j 1.2. I assume this will require reverting the inheritance relationship between Category and Logger and Priority and Level. When we've got this working, then we can do what-if's to see if we can totally eliminate the Category and Priority without raising the dreaded VerifyError exception on class load.

As far as I can tell (but I haven't did any significant research), it is unlikely that an arbitrary app compiled against log4j 1.2 would just work if you dropped the current CVS HEAD in the classpath. However, mileage may vary depending on the JVM. I think we would like to get to the point that almost all applications would. At least that is what we have been historically saying about the CVS HEAD.


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

Reply via email to