jdk/test/java/util/logging/HigherResolutionTimeStamps/LogRecordWithNanos.java
author dfuchs
Wed, 25 Feb 2015 18:41:07 +0100
changeset 29117 7956b5dc0eac
permissions -rw-r--r--
8072645: java.util.logging should use java.time to get more precise time stamps Summary: j.u.logging uses j.t.Instant to store LogRecord time stamps. XMLFormatter format is updated to allow for a new optional <nanos> element containing a nano second adjustment. SimpleFormatter passes a ZonedDateTime object to String.format. LogRecord getMillis/setMillis are deprecated, replaced by getInstant/setInstant. Reviewed-by: scolebourne, plevart, rriggs Contributed-by: daniel.fuchs@oracle.com, peter.levart@gmail.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29117
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
     1
/*
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
     2
 * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
     4
 *
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
     7
 * published by the Free Software Foundation.
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
     8
 *
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    13
 * accompanied this code).
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    14
 *
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    18
 *
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    21
 * questions.
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    22
 */
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    23
import java.io.ByteArrayInputStream;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    24
import java.io.ByteArrayOutputStream;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    25
import java.io.IOException;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    26
import java.io.ObjectInputStream;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    27
import java.io.ObjectOutputStream;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    28
import java.util.logging.Level;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    29
import java.util.logging.LogRecord;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    30
import java.util.logging.SimpleFormatter;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    31
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    32
/**
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    33
 * @test
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    34
 * @bug 8072645
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    35
 * @summary tests that LogRecord has nanos...
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    36
 * @run main LogRecordWithNanos
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    37
 * @author danielfuchs
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    38
 */
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    39
public class LogRecordWithNanos {
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    40
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    41
    static final int MILLIS_IN_SECOND = 1000;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    42
    static final int NANOS_IN_MILLI = 1000_000;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    43
    static final int NANOS_IN_SECOND = 1000_000_000;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    44
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    45
    static final boolean verbose = false;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    46
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    47
    static final class TestAssertException extends RuntimeException {
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    48
        TestAssertException(String msg) { super(msg); }
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    49
    }
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    50
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    51
    private static void assertEquals(long expected, long received, String msg) {
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    52
        if (expected != received) {
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    53
            throw new TestAssertException("Unexpected result for " + msg
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    54
                    + ".\n\texpected: " + expected
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    55
                    +  "\n\tactual:   " + received);
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    56
        } else if (verbose) {
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    57
            System.out.println("Got expected " + msg + ": " + received);
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    58
        }
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    59
    }
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    60
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    61
    /**
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    62
     * Serializes a log record, then deserializes it and check that both
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    63
     * records match.
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    64
     * @param record the log record to serialize & deserialize.
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    65
     * @throws IOException Unexpected.
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    66
     * @throws ClassNotFoundException  Unexpected.
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    67
     */
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    68
    public static void test(LogRecord record)
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    69
            throws IOException, ClassNotFoundException {
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    70
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    71
        // Format the given logRecord using the SimpleFormatter
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    72
        SimpleFormatter formatter = new SimpleFormatter();
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    73
        String str = formatter.format(record);
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    74
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    75
        // Serialize the given LogRecord
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    76
        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    77
        final ObjectOutputStream oos = new ObjectOutputStream(baos);
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    78
        oos.writeObject(record);
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    79
        oos.flush();
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    80
        oos.close();
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    81
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    82
        // First checks that the log record can be deserialized
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    83
        final ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    84
        final ObjectInputStream ois = new ObjectInputStream(bais);
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    85
        final LogRecord record2 = (LogRecord)ois.readObject();
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    86
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    87
        assertEquals(record.getMillis(), record2.getMillis(), "getMillis()");
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    88
        assertEquals(record.getInstant().getEpochSecond(),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    89
                record2.getInstant().getEpochSecond(),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    90
                "getInstant().getEpochSecond()");
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    91
        assertEquals(record.getInstant().getNano(),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    92
                record2.getInstant().getNano(),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    93
                "getInstant().getNano()");
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    94
        assertEquals(record.getInstant().toEpochMilli(),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    95
                record2.getInstant().toEpochMilli(),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    96
                "getInstant().toEpochMilli()");
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    97
        assertEquals(record.getMillis(),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    98
                record.getInstant().toEpochMilli(),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
    99
                "getMillis()/getInstant().toEpochMilli()");
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   100
        assertEquals(record2.getMillis(),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   101
                record2.getInstant().toEpochMilli(),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   102
                "getMillis()/getInstant().toEpochMilli()");
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   103
        assertEquals((record.getMillis()%MILLIS_IN_SECOND)*NANOS_IN_MILLI
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   104
                + (record.getInstant().getNano() % NANOS_IN_MILLI),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   105
                record.getInstant().getNano(),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   106
                "record.getMillis()%1000)*1000_000"
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   107
                + " + record.getInstant().getNano()%1000_000 / getInstant().getNano()");
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   108
        assertEquals((record2.getMillis()%MILLIS_IN_SECOND)*NANOS_IN_MILLI
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   109
                + (record2.getInstant().getNano() % NANOS_IN_MILLI),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   110
                record2.getInstant().getNano(),
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   111
                "record2.getMillis()%1000)*1000_000"
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   112
                + " + record2.getInstant().getNano()%1000_000 / getInstant().getNano()");
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   113
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   114
        // Format the deserialized LogRecord using the SimpleFormatter, and
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   115
        // check that the string representation obtained matches the string
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   116
        // representation of the original LogRecord
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   117
        String str2 = formatter.format(record2);
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   118
        if (!str.equals(str2))
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   119
            throw new RuntimeException("Unexpected values in deserialized object:"
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   120
                + "\n\tExpected:  " + str
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   121
                + "\n\tRetrieved: "+str);
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   122
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   123
    }
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   124
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   125
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   126
    public static void main(String[] args) throws Exception {
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   127
        int count=0;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   128
        for (int i=0; i<1000; i++) {
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   129
            LogRecord record = new LogRecord(Level.INFO, "Java Version: {0}");
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   130
            record.setLoggerName("test");
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   131
            record.setParameters(new Object[] {System.getProperty("java.version")});
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   132
            if (record.getInstant().getNano() % 1000_000 != 0) {
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   133
                count++;
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   134
            }
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   135
            test(record);
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   136
        }
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   137
        if (count == 0) {
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   138
            throw new RuntimeException("Expected at least one record to have nanos");
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   139
        }
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   140
        System.out.println(count + "/1000 records had nano adjustment.");
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   141
    }
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   142
7956b5dc0eac 8072645: java.util.logging should use java.time to get more precise time stamps
dfuchs
parents:
diff changeset
   143
}