RFR: JDK-8046565: Platform Logger API and Service (original) (raw)

Stephen Colebourne scolebourne at joda.org
Fri Oct 16 11:16:20 UTC 2015


On 15 October 2015 at 17:31, Daniel Fuchs <daniel.fuchs at oracle.com> wrote:

I have a major concern that the class names 'Logger' and 'Level' duplicate those of java.util.logging. While they are inner classes as opposed to top level classes, both IntelliJ and Eclipse will find the inner class and top level class when typing "Logger". This will no doubt cause many users to import the wrong one. I propose that these classes are renamed to avoid this problem. The simplest would be to change them from inner classes to top level classes "System.Logger" -> "SystemLogger". Alternatively, they could stay as inner classes and be prefixed "System.Logger" -> "System.SysLogger" or "System.Logger" -> "System.BasicLogger".

After having worked with it for some time I find that using inner interfaces/classes for Logger and Level is not that bad. Certainly better than if it was a top-level class of the same name. It is fortunately rare that you need to use both (the System. and the j.u.l one) in the same class. It's hard to find a compelling new name though :-)

Since I assume the purpose of these new Logger/Level interfaces is simplistic and primarily for the JDK's own use, a name that emphasises that would seem reasonable, hence BasicLogger/BasicLoggerLevel or similar.

Stephen



More information about the core-libs-dev mailing list