Repository: logging-log4j2
Updated Branches:
  refs/heads/master 1ce2dec9b -> b54045f77


[LOG4J2-2351] Added AbstractLogEvent.getMutableInstant

The MutableInstant may be modified by classes extending
AbstractLogEvent.


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/b54045f7
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/b54045f7
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/b54045f7

Branch: refs/heads/master
Commit: b54045f77663aac71a9464c5568a38536f43614a
Parents: 1ce2dec
Author: Carter Kozak <cko...@apache.org>
Authored: Tue Jun 12 10:35:20 2018 -0400
Committer: Carter Kozak <cko...@apache.org>
Committed: Wed Jun 13 08:14:11 2018 -0400

----------------------------------------------------------------------
 .../org/apache/logging/log4j/core/AbstractLogEvent.java     | 9 ++++++++-
 src/changes/changes.xml                                     | 6 ++++++
 2 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b54045f7/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLogEvent.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLogEvent.java 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLogEvent.java
index b9dd2bb..f1e6aed 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLogEvent.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLogEvent.java
@@ -37,7 +37,7 @@ public abstract class AbstractLogEvent implements LogEvent {
 
     private static final long serialVersionUID = 1L;
 
-    private MutableInstant instant = new MutableInstant();
+    private volatile MutableInstant instant;
 
     /**
      * Subclasses should implement this method to provide an immutable version.
@@ -127,6 +127,13 @@ public abstract class AbstractLogEvent implements LogEvent 
{
 
     @Override
     public Instant getInstant() {
+        return getMutableInstant();
+    }
+
+    protected final MutableInstant getMutableInstant() {
+        if (instant == null) {
+            instant = new MutableInstant();
+        }
         return instant;
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b54045f7/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index d777072..e823ca5 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -180,6 +180,9 @@
       <action issue="LOG4J2-2347" dev="ggregory" type="fix">
         Update Apache Commons Compress from 1.16.1 to 1.17.
       </action>
+      <action issue="LOG4J2-2351" dev="ckozak" type="update">
+        Added AbstractLogEvent.getMutableInstant to allow the MutableInstant 
instance to be modified by classes extending AbstractLogEvent.
+      </action>
     </release>
     <release version="2.11.1" date="2018-MM-DD" description="GA Release 
2.11.1">
       <action issue="LOG4J2-2268" dev="rgoers" type="fix" due-to="Tilman 
Hausherr">
@@ -253,6 +256,9 @@
       <action issue="LOG4J2-2347" dev="ggregory" type="fix">
         Update Apache Commons Compress from 1.16.1 to 1.17.
       </action>
+      <action issue="LOG4J2-2351" dev="ckozak" type="update">
+        Added AbstractLogEvent.getMutableInstant to allow the MutableInstant 
instance to be modified by classes extending AbstractLogEvent.
+      </action>
     </release>
     <release version="2.11.0" date="2018-xx-xx" description="GA Release 
2.11.0">
       <action issue="LOG4J2-2104" dev="rgoers" type="fix">

Reply via email to