Repository: logging-log4j2
Updated Branches:
  refs/heads/master 79acbcb65 -> d7871ca64


LOG4J2-1667 make SequenceNumberPatternConverter garbage-free


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

Branch: refs/heads/master
Commit: d7871ca649310debe18e3ec37a7510c53d0615ea
Parents: 79acbcb
Author: rpopma <[email protected]>
Authored: Sun Nov 6 16:23:26 2016 +0900
Committer: rpopma <[email protected]>
Committed: Sun Nov 6 16:23:26 2016 +0900

----------------------------------------------------------------------
 .../log4j/core/pattern/SequenceNumberPatternConverter.java     | 5 ++---
 log4j-core/src/test/resources/gcFreeLogging.xml                | 6 +++---
 log4j-core/src/test/resources/gcFreeMixedSyncAsyncLogging.xml  | 6 +++---
 src/changes/changes.xml                                        | 3 +++
 4 files changed, 11 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d7871ca6/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
index b8e4b6a..ef52b42 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
@@ -49,8 +49,7 @@ public final class SequenceNumberPatternConverter extends 
LogEventPatternConvert
      * @param options options, currently ignored, may be null.
      * @return instance of SequencePatternConverter.
      */
-    public static SequenceNumberPatternConverter newInstance(
-        final String[] options) {
+    public static SequenceNumberPatternConverter newInstance(final String[] 
options) {
         return INSTANCE;
     }
 
@@ -59,6 +58,6 @@ public final class SequenceNumberPatternConverter extends 
LogEventPatternConvert
      */
     @Override
     public void format(final LogEvent event, final StringBuilder toAppendTo) {
-        toAppendTo.append(Long.toString(SEQUENCE.incrementAndGet()));
+        toAppendTo.append(SEQUENCE.incrementAndGet());
     }
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d7871ca6/log4j-core/src/test/resources/gcFreeLogging.xml
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/gcFreeLogging.xml 
b/log4j-core/src/test/resources/gcFreeLogging.xml
index f91eb11..b677dd0 100644
--- a/log4j-core/src/test/resources/gcFreeLogging.xml
+++ b/log4j-core/src/test/resources/gcFreeLogging.xml
@@ -6,13 +6,13 @@
     </Console>
     <File name="File" fileName="target/gcfreefile.log" bufferedIO="false">
       <PatternLayout>
-        <Pattern>%d{DEFAULT}{UTC} %r %p %c{1.} [%t] %m%n 
%highlight{%style{%d}{bright,cyan} %p %c{1.} [%t] %m%n}</Pattern>
+        <Pattern>%d{DEFAULT}{UTC} %r %sn %p %c{1.} [%t] %m%n 
%highlight{%style{%d}{bright,cyan} %p %c{1.} [%t] %m%n}</Pattern>
       </PatternLayout>
     </File>
     <RollingFile name="RollingFile" fileName="target/gcfreeRollingFile.log"
         filePattern="target/gcfree-%d{MM-dd-yy-HH-mm-ss}.log.gz">
       <PatternLayout>
-        <Pattern>%d{yyyy-MM-dd'T'HH:mm:ss,SSS}{UTC} %r %p %c{1.} [%t] %m%n 
%highlight{%style{%d}{bright,cyan} %p %c{1.} [%t] %m%n}</Pattern>
+        <Pattern>%d{yyyy-MM-dd'T'HH:mm:ss,SSS}{UTC} %r %sn %p %c{1.} [%t] %m%n 
%highlight{%style{%d}{bright,cyan} %p %c{1.} [%t] %m%n}</Pattern>
       </PatternLayout>
       <Policies>
         <SizeBasedTriggeringPolicy size="50M" />
@@ -20,7 +20,7 @@
     </RollingFile>
     <RandomAccessFile name="RandomAccessFile" fileName="target/gcfreeRAF.log" 
immediateFlush="false" append="false">
       <PatternLayout>
-        <Pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSS}{UTC} %r %p %c{1.} [%t] %X{aKey} 
%m %ex%n %highlight{%style{%d}{bright,cyan} %p %c{1.} [%t] %X{aKey} %m 
%ex%n}</Pattern>
+        <Pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSS}{UTC} %r %sn %p %c{1.} [%t] 
%X{aKey} %m %ex%n %highlight{%style{%d}{bright,cyan} %p %c{1.} [%t] %X{aKey} %m 
%ex%n}</Pattern>
       </PatternLayout>
     </RandomAccessFile>
     <RollingRandomAccessFile name="RollingRandomAccessFile"

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d7871ca6/log4j-core/src/test/resources/gcFreeMixedSyncAsyncLogging.xml
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/gcFreeMixedSyncAsyncLogging.xml 
b/log4j-core/src/test/resources/gcFreeMixedSyncAsyncLogging.xml
index c5f77ec..fbdafeb 100644
--- a/log4j-core/src/test/resources/gcFreeMixedSyncAsyncLogging.xml
+++ b/log4j-core/src/test/resources/gcFreeMixedSyncAsyncLogging.xml
@@ -6,13 +6,13 @@
     </Console>
     <File name="File" fileName="target/gcfreefileMixed.log" bufferedIO="false">
       <PatternLayout>
-        <Pattern>%d{yyyy-MM-dd'T'HH:mm:ss,SSS}{UTC} %r %p %c{1.} [%t] %m%n 
%highlight{%style{%d}{bright,cyan} %p %c{1.} [%t] %m%n}</Pattern>
+        <Pattern>%d{yyyy-MM-dd'T'HH:mm:ss,SSS}{UTC} %r %sn %p %c{1.} [%t] %m%n 
%highlight{%style{%d}{bright,cyan} %p %c{1.} [%t] %m%n}</Pattern>
       </PatternLayout>
     </File>
     <RollingFile name="RollingFile" 
fileName="target/gcfreeRollingFileMixed.log"
         filePattern="target/gcfree-%d{MM-dd-yy-HH-mm-ss}.log.gz">
       <PatternLayout>
-        <Pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSS}{UTC} %r %p %c{1.} [%t] %m%n 
%highlight{%style{%d}{bright,cyan} %p %c{1.} [%t] %m%n}</Pattern>
+        <Pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSS}{UTC} %r %sn %p %c{1.} [%t] %m%n 
%highlight{%style{%d}{bright,cyan} %p %c{1.} [%t] %m%n}</Pattern>
       </PatternLayout>
       <Policies>
         <SizeBasedTriggeringPolicy size="50M" />
@@ -20,7 +20,7 @@
     </RollingFile>
     <RandomAccessFile name="RandomAccessFile" 
fileName="target/gcfreeRAFMixed.log" immediateFlush="false" append="false">
       <PatternLayout>
-        <Pattern>%d{DEFAULT}{UTC} %r %p %c{1.} [%t] %X{aKey} %m %ex%n 
%highlight{%style{%d}{bright,cyan} %p %c{1.} [%t] %X{aKey} %m %ex%n}</Pattern>
+        <Pattern>%d{DEFAULT}{UTC} %r %sn %p %c{1.} [%t] %X{aKey} %m %ex%n 
%highlight{%style{%d}{bright,cyan} %p %c{1.} [%t] %X{aKey} %m %ex%n}</Pattern>
       </PatternLayout>
     </RandomAccessFile>
     <RollingRandomAccessFile name="RollingRandomAccessFile"

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d7871ca6/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 66c5c35..6602d98 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
   </properties>
   <body>
     <release version="2.8" date="2016-MM-DD" description="GA Release 2.8">
+      <action issue="LOG4J2-1667" dev="rpopma" type="fix">
+        (GC) Avoid allocating temporary objects in 
SequenceNumberPatternConverter.
+      </action>
       <action issue="LOG4J2-1666" dev="rpopma" type="fix">
         (GC) Avoid allocating temporary objects in 
RelativeTimePatternConverter.
       </action>

Reply via email to