Repository: logging-log4j2
Updated Branches:
  refs/heads/master 6b31ab3d5 -> f8705e658


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e3a126ee/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/JpaH2AppenderTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/JpaH2AppenderTest.java
 
b/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/JpaH2AppenderTest.java
index 055dd03..9b299b9 100644
--- 
a/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/JpaH2AppenderTest.java
+++ 
b/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/JpaH2AppenderTest.java
@@ -40,15 +40,16 @@ public class JpaH2AppenderTest extends 
AbstractJpaAppenderTest {
 
         try (Statement statement = connection.createStatement()) {
             statement.executeUpdate("CREATE TABLE jpaBaseLogEntry ( "
-                    + "id INTEGER IDENTITY, eventDate DATETIME, level 
NVARCHAR(10), logger NVARCHAR(255), "
-                    + "message NVARCHAR(1024), exception NVARCHAR(1048576)" + 
" )");
+                    + "id INTEGER IDENTITY, eventDate DATETIME, instant 
NVARCHAR(64), level NVARCHAR(10), "
+                    + "logger NVARCHAR(255), message NVARCHAR(1024), exception 
NVARCHAR(1048576)" + " )");
         }
 
         try (Statement statement = connection.createStatement()) {
             statement.executeUpdate("CREATE TABLE jpaBasicLogEntry ( "
-                    + "id INTEGER IDENTITY, timemillis BIGINT, nanoTime 
BIGINT, level NVARCHAR(10), loggerName NVARCHAR(255), "
-                    + "message NVARCHAR(1024), thrown NVARCHAR(1048576), 
contextMapJson NVARCHAR(1048576),"
-                    + "loggerFQCN NVARCHAR(1024), contextStack 
NVARCHAR(1048576), marker NVARCHAR(255), source NVARCHAR(2048),"
+                    + "id INTEGER IDENTITY, timemillis BIGINT, instant 
NVARCHAR(64), nanoTime BIGINT, "
+                    + "level NVARCHAR(10), loggerName NVARCHAR(255), message 
NVARCHAR(1024), "
+                    + "thrown NVARCHAR(1048576), contextMapJson 
NVARCHAR(1048576), loggerFQCN NVARCHAR(1024), "
+                    + "contextStack NVARCHAR(1048576), marker NVARCHAR(255), 
source NVARCHAR(2048),"
                     + "threadId BIGINT, threadName NVARCHAR(255), 
threadPriority INTEGER" + " )");
         }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e3a126ee/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/JpaHsqldbAppenderTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/JpaHsqldbAppenderTest.java
 
b/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/JpaHsqldbAppenderTest.java
index 3e22d96..b91734d 100644
--- 
a/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/JpaHsqldbAppenderTest.java
+++ 
b/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/JpaHsqldbAppenderTest.java
@@ -44,15 +44,16 @@ public class JpaHsqldbAppenderTest extends 
AbstractJpaAppenderTest {
 
         try (Statement statement = connection.createStatement()) {
             statement.executeUpdate("CREATE TABLE jpaBaseLogEntry ( "
-                    + "id INTEGER IDENTITY, eventDate DATETIME, level 
VARCHAR(10), logger VARCHAR(255), "
-                    + "message VARCHAR(1024), exception VARCHAR(1048576)" + " 
)");
+                    + "id INTEGER IDENTITY, eventDate DATETIME, instant 
NVARCHAR(64), level VARCHAR(10), "
+                    + "logger VARCHAR(255), message VARCHAR(1024), exception 
VARCHAR(1048576)" + " )");
         }
 
         try (Statement statement = connection.createStatement()) {
             statement.executeUpdate("CREATE TABLE jpaBasicLogEntry ( "
-                    + "id INTEGER IDENTITY, timemillis BIGINT, nanoTime 
BIGINT, level VARCHAR(10), loggerName VARCHAR(255), "
-                    + "message VARCHAR(1024), thrown VARCHAR(1048576), 
contextMapJson VARCHAR(1048576),"
-                    + "loggerFQCN VARCHAR(1024), contextStack 
VARCHAR(1048576), marker VARCHAR(255), source VARCHAR(2048),"
+                    + "id INTEGER IDENTITY, timemillis BIGINT, instant 
NVARCHAR(64), nanoTime BIGINT, "
+                    + "level VARCHAR(10), loggerName VARCHAR(255), message 
VARCHAR(1024), thrown VARCHAR(1048576), "
+                    + "contextMapJson VARCHAR(1048576), loggerFQCN 
VARCHAR(1024), "
+                    + "contextStack VARCHAR(1048576), marker VARCHAR(255), 
source VARCHAR(2048),"
                     + "threadId BIGINT, threadName NVARCHAR(255), 
threadPriority INTEGER" + " )");
         }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e3a126ee/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/LogEventEntityTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/LogEventEntityTest.java
 
b/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/LogEventEntityTest.java
index ed59b53..823cee3 100644
--- 
a/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/LogEventEntityTest.java
+++ 
b/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/LogEventEntityTest.java
@@ -24,6 +24,8 @@ import org.apache.logging.log4j.Marker;
 import org.apache.logging.log4j.ThreadContext.ContextStack;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.impl.ThrowableProxy;
+import org.apache.logging.log4j.core.util.Instant;
+import org.apache.logging.log4j.core.util.MutableInstant;
 import org.apache.logging.log4j.message.Message;
 import org.junit.Assert;
 import org.junit.Test;
@@ -72,6 +74,11 @@ public class LogEventEntityTest {
             }
 
             @Override
+            public Instant getInstant() {
+                return new MutableInstant();
+            }
+
+            @Override
             public long getNanoTime() {
                 return 0;
             }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e3a126ee/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/TestBaseEntity.java
----------------------------------------------------------------------
diff --git 
a/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/TestBaseEntity.java
 
b/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/TestBaseEntity.java
index 5d4473e..3739731 100644
--- 
a/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/TestBaseEntity.java
+++ 
b/log4j-jpa/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/TestBaseEntity.java
@@ -34,6 +34,8 @@ import javax.persistence.Transient;
 import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.Marker;
 import org.apache.logging.log4j.ThreadContext;
+import 
org.apache.logging.log4j.core.appender.db.jpa.converter.InstantAttributeConverter;
+import org.apache.logging.log4j.core.util.Instant;
 import org.apache.logging.log4j.util.ReadOnlyStringMap;
 import org.apache.logging.log4j.core.LogEvent;
 import 
org.apache.logging.log4j.core.appender.db.jpa.converter.LevelAttributeConverter;
@@ -136,6 +138,13 @@ public class TestBaseEntity extends 
AbstractLogEventWrapperEntity {
     }
 
     @Override
+    @Convert(converter = InstantAttributeConverter.class)
+    @Column(name = "instant")
+    public Instant getInstant() {
+        return this.getWrappedEvent().getInstant();
+    }
+
+    @Override
     @Transient
     public long getNanoTime() {
         return this.getWrappedEvent().getNanoTime();

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e3a126ee/log4j-jpa/src/test/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/log4j-jpa/src/test/resources/META-INF/persistence.xml 
b/log4j-jpa/src/test/resources/META-INF/persistence.xml
index c174abc..d800739 100644
--- a/log4j-jpa/src/test/resources/META-INF/persistence.xml
+++ b/log4j-jpa/src/test/resources/META-INF/persistence.xml
@@ -28,6 +28,7 @@
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.ContextMapJsonAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.ContextStackAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.ContextStackJsonAttributeConverter</class>
+    
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.InstantAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.LevelAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.MarkerAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.MessageAttributeConverter</class>
@@ -52,6 +53,7 @@
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.ContextMapJsonAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.ContextStackAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.ContextStackJsonAttributeConverter</class>
+    
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.InstantAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.LevelAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.MarkerAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.MessageAttributeConverter</class>

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e3a126ee/log4j-perf/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/resources/META-INF/persistence.xml 
b/log4j-perf/src/main/resources/META-INF/persistence.xml
index c174abc..d800739 100644
--- a/log4j-perf/src/main/resources/META-INF/persistence.xml
+++ b/log4j-perf/src/main/resources/META-INF/persistence.xml
@@ -28,6 +28,7 @@
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.ContextMapJsonAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.ContextStackAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.ContextStackJsonAttributeConverter</class>
+    
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.InstantAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.LevelAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.MarkerAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.MessageAttributeConverter</class>
@@ -52,6 +53,7 @@
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.ContextMapJsonAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.ContextStackAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.ContextStackJsonAttributeConverter</class>
+    
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.InstantAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.LevelAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.MarkerAttributeConverter</class>
     
<class>org.apache.logging.log4j.core.appender.db.jpa.converter.MessageAttributeConverter</class>

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e3a126ee/src/site/xdoc/manual/layouts.xml.vm
----------------------------------------------------------------------
diff --git a/src/site/xdoc/manual/layouts.xml.vm 
b/src/site/xdoc/manual/layouts.xml.vm
index d8d9ec3..3760c97 100644
--- a/src/site/xdoc/manual/layouts.xml.vm
+++ b/src/site/xdoc/manual/layouts.xml.vm
@@ -346,6 +346,10 @@ logger.debug("one={}, two={}, three={}", 1, 2, 3);
           </p>
           <pre class="prettyprint linenums">{
   "timeMillis" : 1493121664118,
+  "instant" : {
+    "epochSecond" : 1493121664,
+    "nanoOfSecond" : 118000000
+  },
   "thread" : "main",
   "level" : "INFO",
   "loggerName" : "HelloWorld",
@@ -736,7 +740,15 @@ WARN  [main]: Message 2</pre>
                     </tr>
                     <tr>
                       <td>%d{DEFAULT}</td>
-                      <td>2012-11-02 14:34:02,781</td>
+                      <td>2012-11-02 14:34:02,123</td>
+                    </tr>
+                    <tr>
+                      <td>%d{DEFAULT_MICROS}</td>
+                      <td>2012-11-02 14:34:02,123456</td>
+                    </tr>
+                    <tr>
+                      <td>%d{DEFAULT_NANOS}</td>
+                      <td>2012-11-02 14:34:02,123456789</td>
                     </tr>
                     <tr>
                       <td>%d{ISO8601}</td>
@@ -751,6 +763,14 @@ WARN  [main]: Message 2</pre>
                       <td>14:34:02,781</td>
                     </tr>
                     <tr>
+                      <td>%d{ABSOLUTE_MICROS}</td>
+                      <td>14:34:02,123456</td>
+                    </tr>
+                    <tr>
+                      <td>%d{ABSOLUTE_NANOS}</td>
+                      <td>14:34:02,123456789</td>
+                    </tr>
+                    <tr>
                       <td>%d{DATE}</td>
                       <td>02 Nov 2012 14:34:02,781</td>
                     </tr>
@@ -760,11 +780,19 @@ WARN  [main]: Message 2</pre>
                     </tr>
                     <tr>
                       <td>%d{HH:mm:ss,SSS}</td>
-                      <td>14:34:02,781</td>
+                      <td>14:34:02,123</td>
+                    </tr>
+                    <tr>
+                      <td>%d{HH:mm:ss,nnnn} to %d{HH:mm:ss,nnnnnnnnn}</td>
+                      <td>14:34:02,1234 to 14:34:02,123456789</td>
                     </tr>
                     <tr>
                       <td>%d{dd MMM yyyy HH:mm:ss,SSS}</td>
-                      <td>02 Nov 2012 14:34:02,781</td>
+                      <td>02 Nov 2012 14:34:02,123</td>
+                    </tr>
+                    <tr>
+                      <td>%d{dd MMM yyyy HH:mm:ss,nnnn} to %d{dd MMM yyyy 
HH:mm:ss,nnnnnnnnn}</td>
+                      <td>02 Nov 2012 14:34:02,1234 to 02 Nov 2012 
14:34:02,123456789</td>
                     </tr>
                     <tr>
                       <td>%d{HH:mm:ss}{GMT+0}</td>
@@ -789,6 +817,18 @@ WARN  [main]: Message 2</pre>
                   This is an efficient way to output the event time because 
only a conversion from long to String
                   takes place, there is no Date formatting involved.
                 </p>
+                <p>
+                  Log4j 2.11 adds limited support for timestamps more precise 
than milliseconds when running on Java 9.
+                  Note that not all
+                  <a 
href="https://docs.oracle.com/javase/9/docs/api/java/time/format/DateTimeFormatter.html";>DateTimeFormatter</a>
+                   formats are supported.
+                  Only timestamps in the formats mentioned in the table above 
may use the "nano-of-second"
+                  pattern letter <code>n</code> instead of the 
"fraction-of-second" pattern letter <code>S</code>.
+                </p>
+                <p>
+                  Users may revert back to a millisecond-precision clock when 
running on Java 9 by setting system property
+                  <code>log4j2.Clock</code> to 
<code>org.apache.logging.log4j.core.util.SystemMillisClock</code>.
+                </p>
               </td>
             </tr>
             <tr>
@@ -2162,6 +2202,7 @@ at 
org.apache.logging.log4j.core.pattern.ExtendedThrowableTest.testException(Ext
        loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger"
        threadId="1"
        threadPriority="5"&gt;
+  <Instant epochSecond="1493121664" nanoOfSecond="118000000"/>
   &lt;Marker name="child"&gt;
     &lt;Parents&gt;
       &lt;Marker name="parent"&gt;
@@ -2294,6 +2335,9 @@ at 
org.apache.logging.log4j.core.pattern.ExtendedThrowableTest.testException(Ext
           </p>
           <pre class="prettyprint linenums">---
 timeMillis: 1493122307075
+instant:
+ epochSecond: 1493121664
+ nanoOfSecond: 118000000
 thread: "main"
 level: "INFO"
 loggerName: "HelloWorld"

Reply via email to