I see what you mean. Hmm... FYI, this feature (LOG4J2-1883) adds the following classes. I added them to core.util, but they could still be moved to another package: * Instant <interface> * PreciseClock <interface> * MutableInstant * DummyPreciseClock * SystemMillisClock
I would not consider moving the existing time-related classes, because that would break client code. These should stay as is: * Clock <interface> * NanoClock <interface> * ClockFactory * SystemNanoClock, DummyNanoClock * CachedClock, CoarseCachedClock, SystemClock I also would not want to rename core.util.datetime; that would just break client code without any tangible benefit. So, we can add the new 5 classes to core.util.datetime, or create a new package core.util.time and add them there, or leave them in core.util. Not sure which I prefer actually, need to think about it a bit... On Wed, Jan 24, 2018 at 11:54 PM, Gary Gregory <garydgreg...@gmail.com> wrote: > Hi, > > The package core.time is starting to look like a kitchen sink. Why not put > this new class into the existing core.util.datetime or into a new core.time > package. IMO core.util.datetime, should be core.datetime or simply > core.util.time. > > Gary > > On Wed, Jan 24, 2018 at 4:22 AM, <rpo...@apache.org> wrote: > > > Repository: logging-log4j2 > > Updated Branches: > > refs/heads/LOG4J2-1883-instant-field 3c22d3d83 -> b8b519e5b > > > > > > LOG4J2-1883 moved SystemMillisClock out of the java9 module into core so > > it can be used with any supported Java version > > > > > > Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo > > Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/ > > commit/b8b519e5 > > Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/ > b8b519e5 > > Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/ > b8b519e5 > > > > Branch: refs/heads/LOG4J2-1883-instant-field > > Commit: b8b519e5b6125ca08545691a631e8b3e0a0e4cd0 > > Parents: 3c22d3d > > Author: rpopma <rpo...@apache.org> > > Authored: Wed Jan 24 20:22:41 2018 +0900 > > Committer: rpopma <rpo...@apache.org> > > Committed: Wed Jan 24 20:22:41 2018 +0900 > > > > ---------------------------------------------------------------------- > > .../log4j/core/util/SystemMillisClock.java | 34 > -------------------- > > .../log4j/core/util/SystemMillisClock.java | 34 > ++++++++++++++++++++ > > 2 files changed, 34 insertions(+), 34 deletions(-) > > ---------------------------------------------------------------------- > > > > > > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ > > b8b519e5/log4j-core-java9/src/main/java/org/apache/logging/ > > log4j/core/util/SystemMillisClock.java > > ---------------------------------------------------------------------- > > diff --git a/log4j-core-java9/src/main/java/org/apache/logging/log4j/ > > core/util/SystemMillisClock.java b/log4j-core-java9/src/main/ > > java/org/apache/logging/log4j/core/util/SystemMillisClock.java > > deleted file mode 100644 > > index f267320..0000000 > > --- a/log4j-core-java9/src/main/java/org/apache/logging/log4j/ > > core/util/SystemMillisClock.java > > +++ /dev/null > > @@ -1,34 +0,0 @@ > > -/* > > - * Licensed to the Apache Software Foundation (ASF) under one or more > > - * contributor license agreements. See the NOTICE file distributed with > > - * this work for additional information regarding copyright ownership. > > - * The ASF licenses this file to You under the Apache license, Version > 2.0 > > - * (the "License"); you may not use this file except in compliance with > > - * the License. You may obtain a copy of the License at > > - * > > - * http://www.apache.org/licenses/LICENSE-2.0 > > - * > > - * Unless required by applicable law or agreed to in writing, software > > - * distributed under the License is distributed on an "AS IS" BASIS, > > - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > > implied. > > - * See the license for the specific language governing permissions and > > - * limitations under the license. > > - */ > > -package org.apache.logging.log4j.core.util; > > - > > -/** > > - * Implementation of the {@code Clock} interface that returns the system > > time in millisecond granularity. > > - * @since 2.11 > > - */ > > -public final class SystemMillisClock implements Clock { > > - > > - /** > > - * Returns the system time. > > - * @return the result of calling {@code System.currentTimeMillis()} > > - */ > > - @Override > > - public long currentTimeMillis() { > > - return System.currentTimeMillis(); > > - } > > - > > -} > > > > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ > > b8b519e5/log4j-core/src/main/java/org/apache/logging/log4j/ > > core/util/SystemMillisClock.java > > ---------------------------------------------------------------------- > > diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/ > util/SystemMillisClock.java > > b/log4j-core/src/main/java/org/apache/logging/log4j/core/ > > util/SystemMillisClock.java > > new file mode 100644 > > index 0000000..f267320 > > --- /dev/null > > +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/ > > util/SystemMillisClock.java > > @@ -0,0 +1,34 @@ > > +/* > > + * Licensed to the Apache Software Foundation (ASF) under one or more > > + * contributor license agreements. See the NOTICE file distributed with > > + * this work for additional information regarding copyright ownership. > > + * The ASF licenses this file to You under the Apache license, Version > 2.0 > > + * (the "License"); you may not use this file except in compliance with > > + * the License. You may obtain a copy of the License at > > + * > > + * http://www.apache.org/licenses/LICENSE-2.0 > > + * > > + * Unless required by applicable law or agreed to in writing, software > > + * distributed under the License is distributed on an "AS IS" BASIS, > > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > > implied. > > + * See the license for the specific language governing permissions and > > + * limitations under the license. > > + */ > > +package org.apache.logging.log4j.core.util; > > + > > +/** > > + * Implementation of the {@code Clock} interface that returns the system > > time in millisecond granularity. > > + * @since 2.11 > > + */ > > +public final class SystemMillisClock implements Clock { > > + > > + /** > > + * Returns the system time. > > + * @return the result of calling {@code System.currentTimeMillis()} > > + */ > > + @Override > > + public long currentTimeMillis() { > > + return System.currentTimeMillis(); > > + } > > + > > +} > > > > >