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]