Hi Mandy,

On 06/03/16 00:29, Mandy Chung wrote:

On Mar 4, 2016, at 9:05 AM, Daniel Fuchs <daniel.fu...@oracle.com> wrote:

http://cr.openjdk.java.net/~dfuchs/webrev_8150840/webrev.01/


Looks okay in general.

I’m not a fan of using GetPropertyAction.  While it’s convenient as the class 
already exists, method refs and anonymous class makes what it does more 
explicit at the callsite.  No big deal.

In this case I find that it nicely simplifies the code.

Does -Djava.util.logging.SimpleFormatter.format=… have any effect if 
java.logging is absent (when used together with jdk.system.logger.level)?

No - that was one of the purpose of splitting the
SimpleConsoleLogger class in two (that is: introducing
the SurrogateLogger subclass).
The java.util.logging.* properties are only used with the
SurrogateLogger - which is only used when java.logging is
present and has no custom configuration and until the
application triggers the initialization of the LogManager.

It’s one of the test cases in SimpleConsoleLoggerTest.  I would expect 
java.util.logging.* properties are used fro java.util.logging configuration 
only.

Yes. That's what happens. The SimpleConsoleLoggerTest verifies that.
I mean it verifies that these properties (java.logging.*) are only
used by the SurrogateLogger subclass, and jdk.system.logger.* are only
used by the (unsubclassed) SimpleConsoleLogger.

Ideally there should be an abstract ConsoleLogger class with two
concrete trivial implementations (SimpleConsoleLogger and
SurrogateLogger) but that would be introducing yet another class
so I left it with the simple single inheritance branch.


JUL_FORMAT_PROP_KEY is defined in SimpleConsoleLogger.  If I read it correctly, 
it’s only used for the limited doPrivileged.
  472                     new PropertyPermission(JUL_FORMAT_PROP_KEY, "read"));

Yes. And in the SurrogateLogger subclass.

I was initially confused what SimpleConsoleLogger is done with 
java.util.logging formatting.

I see. Logically it belongs to SurrogateLogger but I didn't want
to trigger the loading of the class if it's not used.

 If JUL_FORMAT_PROP_KEY is not referenced anywhere else, perhaps just remove 
the constant variable and have a comment to explain this getSimpleFormat method 
is shared with JUL?

I'd rather keep the constant since it's used in two places. But adding a
comment to clear up any confusion is certainly a good idea.

best regards,

-- daniel


Mandy


Reply via email to