Thanks, Daniel. That is the issue. I probably should have described it more clearly.
Do you have a sense of a fix timeline? If there is a relatively prompt fix, I can backport it to our internal build instead of introducing churn in our many, many logging configuration files. If it is likely to be a long time, I'll go ahead and change the logging configs. Jeremy On Thu, Nov 9, 2017 at 7:09 AM, Daniel Fuchs <[email protected]> wrote: > Sorry Jeremy, > > I think I misread your issue. > > The issue is that .handlers=X behaves differently than handlers=X > I'm afraid I might have introduced this regression with > https://bugs.openjdk.java.net/browse/JDK-8033661 :-( > > The obvious workaround for now would be to use > handlers= > as documented in the logging.properties file. > > For compatibility reasons then I think we unfortunately > must continue to support ".handlers" as well, if that > used to work in 8. > > I logged https://bugs.openjdk.java.net/browse/JDK-8191033 > > best regards, > > -- daniel > > > > On 09/11/2017 12:36, Daniel Fuchs wrote: > >> Hi Jeremy, >> >> Which jdk version/distribution are you using? >> >> I see .level = INFO in the jdk9/master sources: >> http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/tip/src/java. >> logging/share/conf/logging.properties >> >> There should be no changes WRT the default level between 8 and 9. >> >> best regards, >> >> -- daniel >> >> On 09/11/2017 01:09, Jeremy Manson wrote: >> >>> Hey folks, >>> >>> I can't find reference to this in a relnote, so I thought I would ask. >>> If >>> we have the following files: >>> >>> logging.properties: >>> >>> # Set the level of the root logger >>> .level = INFO >>> >>> # Send the root logger's output to the console >>> .handlers = java.util.logging.ConsoleHandler >>> >>> Test.java: >>> public class Test { >>> public static void main(String[] args) { >>> java.util.logging.Logger.getAnonymousLogger().info("Hi!"); >>> } >>> } >>> >>> In Java 8, we will see console output, and in Java 9, we won't. >>> >>> # Java 8 >>> $ java -Djava.util.logging.config.file=logging.properties Test >>> Nov 08, 2017 5:02:05 PM Test main >>> INFO: Hi! >>> >>> # Java 9 >>> $ java -Djava.util.logging.config.file=logging.properties Test >>> >>> >>> I thought that, perhaps, a decision was made to have the empty string no >>> longer mean the root logger, so I took it off of .handlers: >>> >>> logging.properties: >>> >>> # Set the level of the root logger >>> .level = INFO >>> >>> # Send the root logger's output to the console >>> handlers = java.util.logging.ConsoleHandler >>> >>> Success in the sense that this got me output in Java 9. However, .level >>> still seems to work; if I then have: >>> >>> # Set the level of the root logger >>> .level = WARNING >>> >>> # Send the root logger's output to the console >>> handlers = java.util.logging.ConsoleHandler >>> >>> it sets the root logger's level to WARNING. >>> >>> I don't see any of this in a relnote anywhere, and I don't see an obvious >>> bug about it anywhere. There seem to have been a fair few changes to >>> java.util.logging in Java 9. Was a documented decision made to have >>> .handlers stop meaning handlers on the root logger, but to allow .level >>> to >>> continue meaning level on the root logger? Or do I just have the wrong >>> end >>> of the stick on this? >>> >>> Thanks! >>> >>> Jeremy >>> >>> >> >
