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
