You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2017/03/12 16:33:36 UTC
[2/5] logging-log4j2 git commit: Append suffix when it is short
Append suffix when it is short
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/54b6c88d
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/54b6c88d
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/54b6c88d
Branch: refs/heads/master
Commit: 54b6c88de8ef36fa23c037e389ed958c081104fe
Parents: 1cf55b0
Author: xnslong <xn...@outlook.com>
Authored: Fri Mar 10 00:53:17 2017 +0800
Committer: xnslong <xn...@outlook.com>
Committed: Fri Mar 10 00:58:30 2017 +0800
----------------------------------------------------------------------
.../core/pattern/ThrowablePatternConverter.java | 12 ++--
.../pattern/ThrowablePatternConverterTest.java | 71 +++++++++++++-------
2 files changed, 53 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/54b6c88d/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.java
index b596361..bcd631a 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.java
@@ -108,11 +108,10 @@ public class ThrowablePatternConverter extends LogEventPatternConverter {
final Throwable t = event.getThrown();
if (isSubShortOption()) {
- formatSubShortOption(t, buffer);
+ formatSubShortOption(t, getSuffix(event), buffer);
}
else if (t != null && options.anyLines()) {
- String suffix = getSuffix(event);
- formatOption(t, suffix, buffer);
+ formatOption(t, getSuffix(event), buffer);
}
}
@@ -125,7 +124,7 @@ public class ThrowablePatternConverter extends LogEventPatternConverter {
ThrowableFormatOptions.CLASS_NAME.equalsIgnoreCase(rawOption);
}
- private void formatSubShortOption(final Throwable t, final StringBuilder buffer) {
+ private void formatSubShortOption(final Throwable t, final String suffix, final StringBuilder buffer) {
StackTraceElement[] trace;
StackTraceElement throwingMethod = null;
int len;
@@ -164,6 +163,11 @@ public class ThrowablePatternConverter extends LogEventPatternConverter {
buffer.append(' ');
}
buffer.append(toAppend);
+
+ if (Strings.isNotBlank(suffix)) {
+ buffer.append(' ');
+ buffer.append(suffix);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/54b6c88d/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverterTest.java
index f0903ad..2704d86 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverterTest.java
@@ -86,32 +86,6 @@ public class ThrowablePatternConverterTest {
}
@Test
- public void testFullWithSuffix() {
- final String[] options = { "full", "suffix(test suffix)" };
- final ThrowablePatternConverter converter = ThrowablePatternConverter.newInstance(null, options);
- Throwable parent;
- try {
- try {
- throw new NullPointerException("null pointer");
- } catch (final NullPointerException e) {
- throw new IllegalArgumentException("IllegalArgument", e);
- }
- } catch (final IllegalArgumentException e) {
- parent = e;
- }
- final LogEvent event = Log4jLogEvent.newBuilder() //
- .setLoggerName("testLogger") //
- .setLoggerFqcn(this.getClass().getName()) //
- .setLevel(Level.DEBUG) //
- .setMessage(new SimpleMessage("test exception")) //
- .setThrown(parent).build();
- final StringBuilder sb = new StringBuilder();
- converter.format(event, sb);
- final String result = sb.toString();
- assertTrue("Each line of full stack trace should end with the specified suffix", everyLineEndsWith(result, "test suffix"));
- }
-
- @Test
public void testShortClassName() {
final String packageName = "org.apache.logging.log4j.core.pattern.";
final String[] options = { "short.className" };
@@ -222,4 +196,49 @@ public class ThrowablePatternConverterTest {
assertEquals("The method names should be same", "testShortMethodName", result);
}
+ @Test
+ public void testFullWithSuffix() {
+ final String[] options = { "full", "suffix(test suffix)" };
+ final ThrowablePatternConverter converter = ThrowablePatternConverter.newInstance(null, options);
+ Throwable parent;
+ try {
+ try {
+ throw new NullPointerException("null pointer");
+ } catch (final NullPointerException e) {
+ throw new IllegalArgumentException("IllegalArgument", e);
+ }
+ } catch (final IllegalArgumentException e) {
+ parent = e;
+ }
+ final LogEvent event = Log4jLogEvent.newBuilder() //
+ .setLoggerName("testLogger") //
+ .setLoggerFqcn(this.getClass().getName()) //
+ .setLevel(Level.DEBUG) //
+ .setMessage(new SimpleMessage("test exception")) //
+ .setThrown(parent).build();
+ final StringBuilder sb = new StringBuilder();
+ converter.format(event, sb);
+ final String result = sb.toString();
+ assertTrue("Each line of full stack trace should end with the specified suffix", everyLineEndsWith(result, "test suffix"));
+ }
+
+ @Test
+ public void testShortOptionWithSuffix() {
+ final String packageName = "org.apache.logging.log4j.core.pattern.";
+ final String[] options = { "short.className", "suffix(test suffix)" };
+ final ThrowablePatternConverter converter = ThrowablePatternConverter.newInstance(null, options);
+ final Throwable cause = new NullPointerException("null pointer");
+ final Throwable parent = new IllegalArgumentException("IllegalArgument", cause);
+ final LogEvent event = Log4jLogEvent.newBuilder() //
+ .setLoggerName("testLogger") //
+ .setLoggerFqcn(this.getClass().getName()) //
+ .setLevel(Level.DEBUG) //
+ .setMessage(new SimpleMessage("test exception")) //
+ .setThrown(parent).build();
+ final StringBuilder sb = new StringBuilder();
+ converter.format(event, sb);
+ final String result = sb.toString();
+ assertTrue("Each line should end with suffix", everyLineEndsWith(result, "test suffix"));
+ }
+
}