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 <daniel.fu...@oracle.com>
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
>>>
>>>
>>
>

Reply via email to