Change in properties for logging: deliberate? (original) (raw)
Jeremy Manson jeremymanson at google.com
Wed Dec 6 01:17:18 UTC 2017
- Previous message: Fw: Question about JEP 306.
- Next message: Change in properties for logging: deliberate?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hey folks,
Any thoughts on a timeline for this? We're just having to decide what to do internally. If a patch is likely to arrive in the next month or so, then we'll probably wait, but if not, we should probably figure out a workaround.
(I'm not trying to be too pushy - we can certainly figure out a workaround.)
Jeremy
On Mon, Nov 13, 2017 at 7:30 AM, Daniel Fuchs <daniel.fuchs at oracle.com> wrote:
Hi Jason,
On 13/11/2017 15:14, Jason Mehrens wrote:
Hi Daniel,
Sorry for the late reply I was offline for the long weekend. Hot reloads of the LogManager have always been a problem. I think you are running into https://bugs.openjdk.java.net/browse/JDK-8033661 in your testing and that is going to give you troubling results on what is recreated after the call. Make sure you test updateConfiguration which is the replacement everyone is to use going forward. Yes - I know - I fixed that one ;-) I think you'll want to make it so that "handlers" is just an alias name ".handlers". That way empty string is just name of the root logger which enables consistent use of other properties like ".level" and ".filter". If both are defined in the logging.properties, then install the union of the two line. That's precisely where I didn't want to go. When I fixed JDK-8033661 I choose to use "handlers" for the root logger instead of ".handlers" when implementing updateConfiguration() because "handlers" is explicitly documented in LogManager API documentation and conf/logging.properties. So for the root logger the mapping function will only consider "handlers" but not ".handlers". Trying to change that would add too much complexity IMHO. best regards, -- daniel
Jason
From: Daniel Fuchs <daniel.fuchs at oracle.com> Sent: Friday, November 10, 2017 10:04 AM To: Jason Mehrens; mandy chung Cc: core-libs-dev at openjdk.java.net Subject: Re: Change in properties for logging: deliberate? Hi Jason, I have done a few tests with JDK 8 & 7. I have created custom handlers and added some debug traces in their constructors and debug methods. Then I have added these two lines to my logging.properties: handlers = custom.Handler .handlers = custom.DotHandler What I see is this: - the first time the configuration is read, two handlers are added to the root logger: - an instance of DotHandler (first), then an instance of Handler (second). Then if you call LogManager.readConfiguration() again, both handlers are closed, and this time only one instance of Handler is added to the root logger. No instance of DotHandler is added. From now on the property is ignored. This is because the root logger is a special beast: it will not be removed (like all other loggers) when LogManager.readConfiguration() is called. And as it happens, handlers are added to loggers when the loggers are added to the LogManager. As it happens, the ".handlers" property is only parsed and read when the root logger is added to the LogManager, and thus only once. The "handlers" property on the other hand is parsed every time LogManager.readConfiguration() is called. Given that, I suspect we should deprecate the use of ".handlers" for the root logger, as it appears that it has never worked properly. I could work on a patch for 10 (possibly backport it to 9 update) to preserve the strange behavior of 7 & 8, but is it worth it? What are your thoughts? best regards, -- daniel
On 09/11/2017 19:50, Jason Mehrens wrote: Daniel, I would assume you would fix since it is advertised as a feature over here: https://docs.oracle.com/javase/1.5.0/docs/guide/logging/chan ges.html If it helps, I've dug up a lot of the history on this over here a while back: https://stackoverflow.com/questions/36726431/in-a-java-util- logging-logging-properties-file-whats-the-difference-between-h I've updated that to include the links to this new issue. Now that I've linked this message thread to that message thread that should crash the internet. :) Jason
From: core-libs-dev <core-libs-dev-bounces at openjdk.java.net> on behalf of Daniel Fuchs <daniel.fuchs at oracle.com> Sent: Thursday, November 9, 2017 1:29 PM To: mandy chung Cc: core-libs-dev at openjdk.java.net Subject: Re: Change in properties for logging: deliberate? On 09/11/2017 19:16, mandy chung wrote:
Daniel - we should add this known issue in the release note and document the workaround.
Hi Mandy, Right, it either need to be fixed, or documented in the release notes. Let me first have a look at the issue though. best regards, -- daniel
- Previous message: Fw: Question about JEP 306.
- Next message: Change in properties for logging: deliberate?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]