Repository: logging-log4j2
Updated Branches:
  refs/heads/release-2.x 6a04c4c0d -> 797435b51


[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/797435b5
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/797435b5
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/797435b5

Branch: refs/heads/release-2.x
Commit: 797435b51f21715a47dee63f761605f61d00e43d
Parents: 6a04c4c
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:15:29 2018 -0400

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


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/797435b5/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/797435b5/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index d63db38..c513dc7 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -102,6 +102,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-03-11" description="GA Release 
2.11.0">
       <action issue="LOG4J2-2104" dev="rgoers" type="fix">

Reply via email to