You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ck...@apache.org on 2018/08/03 15:50:55 UTC

[1/2] logging-log4j2 git commit: LOG4J2-2365 Make NameAbbreviator correctly abbreviate first fragments

Repository: logging-log4j2
Updated Branches:
  refs/heads/master 9ecca9def -> 1a2c2103b


LOG4J2-2365 Make NameAbbreviator correctly abbreviate first fragments


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

Branch: refs/heads/master
Commit: d358ecec0cc74df4eba4c4a3de2db08877f31860
Parents: 9ecca9d
Author: Eugene Zimichev <un...@gmail.com>
Authored: Tue Jul 3 19:56:54 2018 +0300
Committer: Carter Kozak <ck...@apache.org>
Committed: Fri Aug 3 11:48:14 2018 -0400

----------------------------------------------------------------------
 .../org/apache/logging/log4j/core/pattern/NameAbbreviator.java     | 2 +-
 .../org/apache/logging/log4j/core/pattern/NameAbbreviatorTest.java | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d358ecec/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
index 2fb6ea9..78642a6 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
@@ -356,7 +356,7 @@ public abstract class NameAbbreviator {
             final int max = pos + original.length();
             final StringBuilder sb = destination.append(original);//new StringBuilder(original);
 
-            for (int i = 0; i < fragments.length - 1 && pos < original.length(); i++) {
+            for (int i = 0; i < fragments.length - 1 && pos < max; i++) {
                 pos = fragments[i].abbreviate(sb, pos);
             }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d358ecec/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NameAbbreviatorTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NameAbbreviatorTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NameAbbreviatorTest.java
index 4b03076..83bbc79 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NameAbbreviatorTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NameAbbreviatorTest.java
@@ -67,7 +67,7 @@ public class NameAbbreviatorTest {
     @Test
     public void testAbbreviatorPatternsAppend() throws Exception {
         final NameAbbreviator abbreviator = NameAbbreviator.getAbbreviator(this.pattern);
-        final String PREFIX = "some random text";
+        final String PREFIX = "some random text big enough to be larger than abbreviated string ";
         final StringBuilder destination = new StringBuilder(PREFIX);
         abbreviator.abbreviate(this.getClass().getName(), destination);
         final String actual = destination.toString();


[2/2] logging-log4j2 git commit: [LOG4J2-2365] Refactor PatternAbbreviator.abbreviate

Posted by ck...@apache.org.
[LOG4J2-2365] Refactor PatternAbbreviator.abbreviate

Combine codepaths for initial and terminal fragments.
Add changelog entry.

This closes #188


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

Branch: refs/heads/master
Commit: 1a2c2103b813640aac9545798bfe5ac665c965c5
Parents: d358ece
Author: Carter Kozak <ck...@apache.org>
Authored: Fri Aug 3 11:19:14 2018 -0400
Committer: Carter Kozak <ck...@apache.org>
Committed: Fri Aug 3 11:50:02 2018 -0400

----------------------------------------------------------------------
 .../log4j/core/pattern/NameAbbreviator.java        | 17 +++++++----------
 .../log4j/core/pattern/NameAbbreviatorTest.java    | 11 ++++++++++-
 src/changes/changes.xml                            |  6 ++++++
 3 files changed, 23 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1a2c2103/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
index 78642a6..c65835c 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
@@ -354,19 +354,16 @@ public abstract class NameAbbreviator {
             //
             int pos = destination.length();
             final int max = pos + original.length();
-            final StringBuilder sb = destination.append(original);//new StringBuilder(original);
 
-            for (int i = 0; i < fragments.length - 1 && pos < max; i++) {
-                pos = fragments[i].abbreviate(sb, pos);
-            }
-
-            //
-            //   last pattern in executed repeatedly
-            //
-            final PatternAbbreviatorFragment terminalFragment = fragments[fragments.length - 1];
+            destination.append(original);
 
+            int fragmentIndex = 0;
             while (pos < max && pos >= 0) {
-                pos = terminalFragment.abbreviate(sb, pos);
+                pos = fragments[fragmentIndex].abbreviate(destination, pos);
+                // last pattern in executed repeatedly
+                if (fragmentIndex < fragments.length - 1) {
+                    fragmentIndex++;
+                }
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1a2c2103/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NameAbbreviatorTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NameAbbreviatorTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NameAbbreviatorTest.java
index 83bbc79..80af7ad 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NameAbbreviatorTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NameAbbreviatorTest.java
@@ -65,7 +65,7 @@ public class NameAbbreviatorTest {
     }
 
     @Test
-    public void testAbbreviatorPatternsAppend() throws Exception {
+    public void testAbbreviatorPatternsAppendLongPrefix() throws Exception {
         final NameAbbreviator abbreviator = NameAbbreviator.getAbbreviator(this.pattern);
         final String PREFIX = "some random text big enough to be larger than abbreviated string ";
         final StringBuilder destination = new StringBuilder(PREFIX);
@@ -74,4 +74,13 @@ public class NameAbbreviatorTest {
         assertEquals(PREFIX + expected, actual);
     }
 
+    @Test
+    public void testAbbreviatorPatternsAppend() throws Exception {
+        final NameAbbreviator abbreviator = NameAbbreviator.getAbbreviator(this.pattern);
+        final String PREFIX = "some random text";
+        final StringBuilder destination = new StringBuilder(PREFIX);
+        abbreviator.abbreviate(this.getClass().getName(), destination);
+        final String actual = destination.toString();
+        assertEquals(PREFIX + expected, actual);
+    }
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1a2c2103/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 011b1fc..42d3b4f 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -233,6 +233,9 @@
       <action issue="LOG4J2-2397" dev="ggregory" type="fix" due-to="EckelDong">
         Predeployment of PersistenceUnit that using Log4j as session logger failed (#198).
       </action>
+      <action issue="LOG4J2-2365" dev="ckozak" type="fix" due-to="Eugene Zimichev">
+        NameAbbreviator correctly abbreviates first fragments (#188).
+      </action>
     </release>
     <release version="2.11.2" date="2018-MM-DD" description="GA Release 2.11.2">
       <action issue="LOG4J2-2391" dev="ckozak" type="update">
@@ -244,6 +247,9 @@
       <action issue="LOG4J2-2397" dev="ggregory" type="fix" due-to="EckelDong">
         Predeployment of PersistenceUnit that using Log4j as session logger failed (#198).
       </action>
+      <action issue="LOG4J2-2365" dev="ckozak" type="fix" due-to="Eugene Zimichev">
+        NameAbbreviator correctly abbreviates first fragments (#188).
+      </action>
     </release>
     <release version="2.11.1" date="2018-07-22" description="GA Release 2.11.1">
       <action issue="LOG4J2-2389" dev="rgoers" type="fix" due-to="Liu Wen">