I've been thinking that it might be good to repackage the log4j 1.3
PatternLayout so that it can be used in conjunction with existing
versions of log4j 1.2.x. The process that I'd see is:
1. Fix cosmetic Checkstyle/PMD reported problems for PatternLayout
and associated classes on log4j/trunk
2. Create a sandbox project similar to recent expression-filter
project and copy code over
3. Address any log4j 1.3 dependencies
4. Change the package or classname to
org.apache.log4j13.PatternLayout or o.a.l.PatternLayout13 so that it
could be used in conjunction with log4j 1.2.x.
5. Gather feedback
6. Vote to release formatter, expression-filter and pattern-layout as
companion products for log4j 1.2.x. At that time, move the code from
sandbox to logging/log4j/companions.
Actual log4j 2.0 would branch off from step 3 above.
1. Adopt JDK 1.5-isms internally: StringBuilder instead of
StringBuffer, Typed containers, etc
2. Any appropriate internal refactoring/packaging
At this point, we should still have a functional PatternLayout that
could be used with log4j 1.2 but only when run on JDK 1.5
3. Refactor o.a.l.spi.LoggingEvent and related (Level for example) to
an interfaces that could supported by wrappers around various
implementations of the concept (java.util.logging.LogRecord, log4j
1.2 and 1.3's LoggingEvent).
4. Refactor Layout interface. Would want to have an interface for
layouts that convert a LoggingEvent to a sequence of characters
(classic log4j 1.2 Layouts) and another for layouts that convert a
LoggingEvent to a sequence of bytes (LoggingEvent
serialization,XMLLayout). A character layout combined with a
character encoding could be combined to form a byte layout.
5. Create adapters for log4j 1.2 and cut an pattern-layout companion
to log4j 1.2.x which is implemented internally as using log4j 2.0
constructs
6. Start refactoring Appender framework and start log4j 2.0
development in earnest.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]