You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/03/30 17:42:47 UTC
[1/2] logging-log4j2 git commit: LOG4J2-1271 added unit tests,
fixed bug
Repository: logging-log4j2
Updated Branches:
refs/heads/LOG4J2-1278-gc-free-logger d3b44f462 -> fed344667
LOG4J2-1271 added unit tests, fixed bug
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/bd34d17e
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/bd34d17e
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/bd34d17e
Branch: refs/heads/LOG4J2-1278-gc-free-logger
Commit: bd34d17e79d5ba40a5ea53fe53520f642a7aebf5
Parents: cf919cb
Author: rpopma <rp...@apache.org>
Authored: Thu Mar 31 00:41:38 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Thu Mar 31 00:41:38 2016 +0900
----------------------------------------------------------------------
.../log4j/message/ParameterFormatter.java | 1 +
.../ReusableParameterizedMessageTest.java | 65 ++++++++++++++++++++
2 files changed, 66 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/bd34d17e/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterFormatter.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterFormatter.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterFormatter.java
index 4e1f825..fa1a43a 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterFormatter.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterFormatter.java
@@ -113,6 +113,7 @@ final class ParameterFormatter {
if (curChar == ESCAPE_CHAR) {
isEscaped = !isEscaped;
indices[0] = -1; // escaping means fast path is not available...
+ result++;
} else if (curChar == DELIM_START) {
if (!isEscaped && messagePattern.charAt(i + 1) == DELIM_STOP) {
indices[result] = i;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/bd34d17e/log4j-api/src/test/java/org/apache/logging/log4j/message/ReusableParameterizedMessageTest.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/message/ReusableParameterizedMessageTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/message/ReusableParameterizedMessageTest.java
index 0dd9260..98bf2d0 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/message/ReusableParameterizedMessageTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/message/ReusableParameterizedMessageTest.java
@@ -44,6 +44,71 @@ public class ReusableParameterizedMessageTest {
}
@Test
+ public void testFormat3StringArgs() {
+ final String testMsg = "Test message {}{} {}";
+ final String[] args = { "a", "b", "c" };
+ final String result = new ReusableParameterizedMessage().set(testMsg, args).getFormattedMessage();
+ assertEquals("Test message ab c", result);
+ }
+
+ @Test
+ public void testFormatNullArgs() {
+ final String testMsg = "Test message {} {} {} {} {} {}";
+ final String[] args = { "a", null, "c", null, null, null };
+ final String result = new ReusableParameterizedMessage().set(testMsg, args).getFormattedMessage();
+ assertEquals("Test message a null c null null null", result);
+ }
+
+ @Test
+ public void testFormatStringArgsIgnoresSuperfluousArgs() {
+ final String testMsg = "Test message {}{} {}";
+ final String[] args = { "a", "b", "c", "unnecessary", "superfluous" };
+ final String result = new ReusableParameterizedMessage().set(testMsg, args).getFormattedMessage();
+ assertEquals("Test message ab c", result);
+ }
+
+ @Test
+ public void testFormatStringArgsWithEscape() {
+ final String testMsg = "Test message \\{}{} {}";
+ final String[] args = { "a", "b", "c" };
+ final String result = new ReusableParameterizedMessage().set(testMsg, args).getFormattedMessage();
+ assertEquals("Test message {}a b", result);
+ }
+
+ @Test
+ public void testFormatStringArgsWithTrailingEscape() {
+ final String testMsg = "Test message {}{} {}\\";
+ final String[] args = { "a", "b", "c" };
+ final String result = new ReusableParameterizedMessage().set(testMsg, args).getFormattedMessage();
+ assertEquals("Test message ab c\\", result);
+ }
+
+ @Test
+ public void testFormatStringArgsWithTrailingText() {
+ final String testMsg = "Test message {}{} {}Text";
+ final String[] args = { "a", "b", "c" };
+ final String result = new ReusableParameterizedMessage().set(testMsg, args).getFormattedMessage();;
+ assertEquals("Test message ab cText", result);
+ }
+
+ @Test
+ public void testFormatStringArgsWithTrailingEscapedEscape() {
+ final String testMsg = "Test message {}{} {}\\\\";
+ final String[] args = { "a", "b", "c" };
+ final String result = new ReusableParameterizedMessage().set(testMsg, args).getFormattedMessage();
+ assertEquals("Test message ab c\\\\", result);
+ }
+
+ @Test
+ public void testFormatStringArgsWithEscapedEscape() {
+ final String testMsg = "Test message \\\\{}{} {}";
+ final String[] args = { "a", "b", "c" };
+ final String result = new ReusableParameterizedMessage().set(testMsg, args).getFormattedMessage();
+ assertEquals("Test message \\ab c", result);
+ }
+
+
+ @Test
public void testNotSafeWithMutableParams() {
final String testMsg = "Test message {}";
final Mutable param = new Mutable().set("abc");
[2/2] logging-log4j2 git commit: Merge remote-tracking branch
'remotes/origin/master' into LOG4J2-1278-gc-free-logger
Posted by rp...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into LOG4J2-1278-gc-free-logger
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/fed34466
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/fed34466
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/fed34466
Branch: refs/heads/LOG4J2-1278-gc-free-logger
Commit: fed344667cce23fe1d8635cf0eee822b2a349d83
Parents: d3b44f4 bd34d17
Author: rpopma <rp...@apache.org>
Authored: Thu Mar 31 00:42:24 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Thu Mar 31 00:42:24 2016 +0900
----------------------------------------------------------------------
.../log4j/message/ParameterFormatter.java | 1 +
.../ReusableParameterizedMessageTest.java | 65 ++++++++++++++++++++
2 files changed, 66 insertions(+)
----------------------------------------------------------------------