Details
-
Task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.10.0
-
None
Description
As discussed on the mailing list in relation to LOG4J2-1883, in preparation for making log4j-core a Java 9 module, the Log4j community wants to start clarifying which classes are published and which classes are internal to Log4j2.
The Clock and NanoClock interfaces in the util package are published extension points and will require a solution that doesn’t break existing implementations but still provides a migration path towards full modularization. It is likely that the util package will not be an exported package so there is an argument to move these interfaces into the new core.time package which will be an exported package of the Java 9 log4j-core module.
The Clock implementation classes and the ClockFactory class in the util package, although public, were intended for internal Log4j usage and can be moved to core.time.internal.
The NanoClock implementations can probably also be moved to core.time.internal.