You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2016/07/07 11:26:38 UTC

[03/17] logging-log4j2 git commit: LOG4J2-1434 trim StringBuilder immediately after use in PatternLayout

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/LOG4J-1181
Commit: bd077fc87c6b6b9e1735e4f9bc6b7b35398fe5cf
Parents: bb77c0e
Author: rpopma <rp...@apache.org>
Authored: Sat Jul 2 21:19:49 2016 +0900
Committer: rpopma <rp...@apache.org>
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