8172971: java.management could use System.Logger
Roger Riggs
Roger.Riggs at Oracle.com
Thu Jan 19 18:22:43 UTC 2017
Hi Daniel,
Very straight-forward.
I can see many places where the supplier form of logging could be used
instead
of the if (loggable...) {log(...) }; pattern. But maybe not worth the
conversion effort or not part of this change.
And in some places there is both the if(loggable) and the supplier pattern
which results in a double check of isLoggable, Explicitly calling the
sb.toString(),
instead of using the supplier form would avoid the double check. For
example,
new/src/java.management/share/classes/javax/management/MBeanServerFactory.java:
@@ -504,15 +502,12 @@
throw new JMRuntimeException(msg, x);
}
} catch (RuntimeException x) {
- if (MBEANSERVER_LOGGER.isLoggable(Level.FINEST)) {
+ if (MBEANSERVER_LOGGER.isLoggable(Level.DEBUG)) {
StringBuilder strb = new StringBuilder()
.append("Failed to instantiate MBeanServerBuilder: ").append(x)
.append("\n\t\tCheck the value of the ")
.append(JMX_INITIAL_BUILDER).append(" property.");
- MBEANSERVER_LOGGER.logp(Level.FINEST,
- MBeanServerFactory.class.getName(),
- "checkMBeanServerBuilder",
- strb.toString());
+ MBEANSERVER_LOGGER.log(Level.DEBUG, strb::toString);
There are a few files with very long lines that could be wrapped if it
was convenient.
(To make future reviews easier).
- JmxMBeanServer.java, MLet.java, ModelMBeanAttributeInfo.java,
ModelMBeanConstructorInfo.java,
ModelMBeanNotificationInfo.java, ModelMBeanOperationInfo.java,
RequiredModelMBean.java,
RelationService.java, Timer.java,
Roger
On 1/19/2017 12:12 PM, Mandy Chung wrote:
>> On Jan 19, 2017, at 7:30 AM, Daniel Fuchs <daniel.fuchs at oracle.com> wrote:
>>
>> Hi,
>>
>> Please find below a patch for:
>>
>> 8172971: java.management could use System.Logger
>> https://bugs.openjdk.java.net/browse/JDK-8172971
>>
>> webrev:
>> http://cr.openjdk.java.net/~dfuchs/webrev_8172971/webrev.00/
>>
> This looks good in general and pretty straight forward change.
>
> Is it intentional to change the level FINEST to DEBUG as opposed to TRACE in a couple places? For example,
>
> src/java.management/share/classes/javax/management/MBeanServerFactory.java
> - if (MBEANSERVER_LOGGER.isLoggable(Level.FINEST)) {
> + if (MBEANSERVER_LOGGER.isLoggable(Level.DEBUG)) {
>
> src/java.management/share/classes/com/sun/jmx/mbeanserver/MBeanServerDelegateImpl.java
> - if (MBEANSERVER_LOGGER.isLoggable(Level.FINEST)) {
> - MBEANSERVER_LOGGER.logp(Level.FINEST,
> - MBeanServerDelegateImpl.class.getName(),
> - "getAttributes",
> + if (MBEANSERVER_LOGGER.isLoggable(Level.TRACE)) {
> + MBEANSERVER_LOGGER.log(Level.TRACE,
> "Attribute " + attn[i] + " not found");
> }
>
>> I have also added a new test:
>> test/sun/management/LoggingTest/LoggingTest.java
> This test should have @modules java.logging and java.management.
>
> Mandy
More information about the core-libs-dev
mailing list