> On Jan 26, 2018, at 8:54 PM, Remko Popma <remko.po...@gmail.com> wrote: > > I guess the classes in util/datetime can be moved to the new time package. > Note that these are public classes so there is a probability that a user is > using these classes directly and this move will break their code, but if we > judge this probability to be low and the argument could be made that these > classes are private for Log4j2 internal use. > > The same argument could be made for many of the time-related implementation > classes in util. The interfaces (Clock and NanoClock) are published and > documented extension points for users to plug into Log4j2. These interfaces > need to stay in util. > > Perhaps it would be wise to take this opportunity to create two packages: > core/time and core/time/internal, where everything in the internal package > should not be directly used by users and is free for us to modify at any > time.
We definitely should be moving in that direction. Someday we will want to turn log4j-core into a “real” Java module. Doing that will require that only packages containing classes meant to be public be exported. So moving private classes to “private” directories is a step in that direction. Ralph