Repository: logging-log4j2
Updated Branches:
  refs/heads/master bb77c0e80 -> bd077fc87


LOG4J2-1434 trim StringBuilder immediately after use in PatternLayout


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

Branch: refs/heads/master
Commit: bd077fc87c6b6b9e1735e4f9bc6b7b35398fe5cf
Parents: bb77c0e
Author: rpopma <[email protected]>
Authored: Sat Jul 2 21:19:49 2016 +0900
Committer: rpopma <[email protected]>
Committed: Sat Jul 2 21:19:49 2016 +0900

----------------------------------------------------------------------
 .../logging/log4j/core/layout/PatternLayout.java     | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/bd077fc8/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
index 1e854dd..7fde3c8 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
@@ -180,6 +180,7 @@ public final class PatternLayout extends 
AbstractStringLayout {
         final StringBuilder text = toText((Serializer2) eventSerializer, 
event, getStringBuilder());
         final Encoder<StringBuilder> encoder = getStringBuilderEncoder();
         encoder.encode(text, destination);
+        trimToMaxSize(text);
     }
 
     /**
@@ -278,7 +279,12 @@ public final class PatternLayout extends 
AbstractStringLayout {
 
         @Override
         public String toSerializable(final LogEvent event) {
-            return toSerializable(event, getStringBuilder()).toString();
+            final StringBuilder sb = getStringBuilder();
+            try {
+                return toSerializable(event, sb).toString();
+            } finally {
+                trimToMaxSize(sb);
+            }
         }
 
         @Override
@@ -322,7 +328,12 @@ public final class PatternLayout extends 
AbstractStringLayout {
 
         @Override
         public String toSerializable(final LogEvent event) {
-            return toSerializable(event, getStringBuilder()).toString();
+            final StringBuilder sb = getStringBuilder();
+            try {
+                return toSerializable(event, sb).toString();
+            } finally {
+                trimToMaxSize(sb);
+            }
         }
 
         @Override

Reply via email to