You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2015/09/22 09:42:45 UTC

[5/6] logging-log4j2 git commit: Refactor StringBuilder ThreadLocal condtruction for reuse.

Refactor StringBuilder ThreadLocal condtruction for reuse.

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

Branch: refs/heads/master
Commit: 8ec15963974bc227ee52cb012f7bc6a9437544ed
Parents: 84974dc
Author: ggregory <gg...@apache.org>
Authored: Tue Sep 22 00:42:14 2015 -0700
Committer: ggregory <gg...@apache.org>
Committed: Tue Sep 22 00:42:14 2015 -0700

----------------------------------------------------------------------
 .../logging/log4j/core/layout/AbstractStringLayout.java     | 9 +++++++++
 .../org/apache/logging/log4j/core/layout/PatternLayout.java | 7 +------
 2 files changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8ec15963/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
index 82225b5..395d717 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
@@ -45,6 +45,15 @@ public abstract class AbstractStringLayout extends AbstractLayout<String> {
         return null;
     }
 
+    protected static ThreadLocal<StringBuilder> newStringBuilderThreadLocal() {
+        return new ThreadLocal<StringBuilder>() {
+            @Override
+            protected StringBuilder initialValue() {
+                return new StringBuilder(DEFAULT_STRING_BUILDER_SIZE);
+            }        
+        };
+    }
+
     /**
      * The charset for the formatted message.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8ec15963/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 e9674f5..e0f8fad 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
@@ -86,12 +86,7 @@ public final class PatternLayout extends AbstractStringLayout {
      */
     private final PatternFormatter[] formatters;
 
-    private static ThreadLocal<StringBuilder> strBuilder = new ThreadLocal<StringBuilder>() {
-        @Override
-        protected StringBuilder initialValue() {
-            return new StringBuilder(DEFAULT_STRING_BUILDER_SIZE);
-        }        
-    };
+    private static ThreadLocal<StringBuilder> strBuilder = newStringBuilderThreadLocal();
 
     /**
      * Conversion pattern.