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 2016/09/08 15:10:46 UTC
logging-log4j2 git commit: Fix formatting
Repository: logging-log4j2
Updated Branches:
refs/heads/master 5cbf04fcf -> 7c2fc7c54
Fix formatting
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/7c2fc7c5
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/7c2fc7c5
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/7c2fc7c5
Branch: refs/heads/master
Commit: 7c2fc7c54f25a399ca84ed08b7d664ca73887398
Parents: 5cbf04f
Author: Matt Sicker <bo...@gmail.com>
Authored: Thu Sep 8 10:11:02 2016 -0500
Committer: Matt Sicker <bo...@gmail.com>
Committed: Thu Sep 8 10:11:02 2016 -0500
----------------------------------------------------------------------
.../logging/log4j/core/impl/ThrowableProxy.java | 273 +++++++++----------
1 file changed, 124 insertions(+), 149 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/7c2fc7c5/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableProxy.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableProxy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableProxy.java
index 5cd73bc..a052e4d 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableProxy.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableProxy.java
@@ -38,13 +38,13 @@ import org.apache.logging.log4j.util.Strings;
/**
* Wraps a Throwable to add packaging information about each stack trace element.
- *
+ *
* <p>
* A proxy is used to represent a throwable that may not exist in a different class loader or JVM. When an application
* deserializes a ThrowableProxy, the throwable may not be set, but the throwable's information is preserved in other
* fields of the proxy like the message and stack trace.
* </p>
- *
+ *
* <p>
* TODO: Move this class to org.apache.logging.log4j.core because it is used from LogEvent.
* </p>
@@ -54,12 +54,12 @@ import org.apache.logging.log4j.util.Strings;
*/
public class ThrowableProxy implements Serializable {
- private static final String TAB = "\t";
+ private static final String TAB = "\t";
private static final String CAUSED_BY_LABEL = "Caused by: ";
- private static final String SUPPRESSED_LABEL = "Suppressed: ";
+ private static final String SUPPRESSED_LABEL = "Suppressed: ";
private static final String WRAPPED_BY_LABEL = "Wrapped by: ";
- /**
+ /**
* Cached StackTracePackageElement and ClassLoader.
* <p>
* Consider this class private.
@@ -115,9 +115,8 @@ public class ThrowableProxy implements Serializable {
/**
* Constructs the wrapper for the Throwable that includes packaging data.
- *
- * @param throwable
- * The Throwable to wrap, must not be null.
+ *
+ * @param throwable The Throwable to wrap, must not be null.
*/
public ThrowableProxy(final Throwable throwable) {
this(throwable, null);
@@ -125,11 +124,9 @@ public class ThrowableProxy implements Serializable {
/**
* Constructs the wrapper for the Throwable that includes packaging data.
- *
- * @param throwable
- * The Throwable to wrap, must not be null.
- * @param visited
- * The set of visited suppressed exceptions.
+ *
+ * @param throwable The Throwable to wrap, must not be null.
+ * @param visited The set of visited suppressed exceptions.
*/
private ThrowableProxy(final Throwable throwable, final Set<Throwable> visited) {
this.throwable = throwable;
@@ -141,26 +138,24 @@ public class ThrowableProxy implements Serializable {
this.extendedStackTrace = this.toExtendedStackTrace(stack, map, null, throwable.getStackTrace());
final Throwable throwableCause = throwable.getCause();
final Set<Throwable> causeVisited = new HashSet<>(1);
- this.causeProxy = throwableCause == null ? null : new ThrowableProxy(throwable, stack, map, throwableCause, visited, causeVisited);
+ this.causeProxy = throwableCause == null ? null : new ThrowableProxy(throwable, stack, map, throwableCause,
+ visited, causeVisited);
this.suppressedProxies = this.toSuppressedProxies(throwable, visited);
}
/**
* Constructs the wrapper for a Throwable that is referenced as the cause by another Throwable.
- *
- * @param parent
- * The Throwable referencing this Throwable.
- * @param stack
- * The Class stack.
- * @param map
- * The cache containing the packaging data.
- * @param cause
- * The Throwable to wrap.
+ *
+ * @param parent The Throwable referencing this Throwable.
+ * @param stack The Class stack.
+ * @param map The cache containing the packaging data.
+ * @param cause The Throwable to wrap.
* @param suppressedVisited TODO
- * @param causeVisited TODO
+ * @param causeVisited TODO
*/
private ThrowableProxy(final Throwable parent, final Stack<Class<?>> stack, final Map<String, CacheEntry> map,
- final Throwable cause, final Set<Throwable> suppressedVisited, final Set<Throwable> causeVisited) {
+ final Throwable cause, final Set<Throwable> suppressedVisited,
+ final Set<Throwable> causeVisited) {
causeVisited.add(cause);
this.throwable = cause;
this.name = cause.getClass().getName();
@@ -169,7 +164,7 @@ public class ThrowableProxy implements Serializable {
this.extendedStackTrace = this.toExtendedStackTrace(stack, map, parent.getStackTrace(), cause.getStackTrace());
final Throwable causeCause = cause.getCause();
this.causeProxy = causeCause == null || causeVisited.contains(causeCause) ? null : new ThrowableProxy(parent,
- stack, map, causeCause, suppressedVisited, causeVisited);
+ stack, map, causeCause, suppressedVisited, causeVisited);
this.suppressedProxies = this.toSuppressedProxies(cause, suppressedVisited);
}
@@ -212,26 +207,27 @@ public class ThrowableProxy implements Serializable {
}
private void formatCause(final StringBuilder sb, final String prefix, final ThrowableProxy cause,
- final List<String> ignorePackages, final TextRenderer textRenderer) {
+ final List<String> ignorePackages, final TextRenderer textRenderer) {
formatThrowableProxy(sb, prefix, CAUSED_BY_LABEL, cause, ignorePackages, textRenderer);
}
- private void formatThrowableProxy(final StringBuilder sb, final String prefix, final String causeLabel,
- final ThrowableProxy throwableProxy, final List<String> ignorePackages, final TextRenderer textRenderer) {
- if (throwableProxy == null) {
- return;
- }
+ private void formatThrowableProxy(final StringBuilder sb, final String prefix, final String causeLabel,
+ final ThrowableProxy throwableProxy, final List<String> ignorePackages,
+ final TextRenderer textRenderer) {
+ if (throwableProxy == null) {
+ return;
+ }
textRenderer.render(prefix, sb, "Prefix");
textRenderer.render(causeLabel, sb, "CauseLabel");
throwableProxy.renderOn(sb, textRenderer);
textRenderer.render(EOL_STR, sb, "Text");
- this.formatElements(sb, prefix, throwableProxy.commonElementCount,
- throwableProxy.getStackTrace(), throwableProxy.extendedStackTrace, ignorePackages, textRenderer);
- this.formatSuppressed(sb, prefix + TAB, throwableProxy.suppressedProxies, ignorePackages, textRenderer);
- this.formatCause(sb, prefix, throwableProxy.causeProxy, ignorePackages, textRenderer);
- }
+ this.formatElements(sb, prefix, throwableProxy.commonElementCount,
+ throwableProxy.getStackTrace(), throwableProxy.extendedStackTrace, ignorePackages, textRenderer);
+ this.formatSuppressed(sb, prefix + TAB, throwableProxy.suppressedProxies, ignorePackages, textRenderer);
+ this.formatCause(sb, prefix, throwableProxy.causeProxy, ignorePackages, textRenderer);
+ }
- void renderOn(final StringBuilder output, final TextRenderer textRenderer) {
+ void renderOn(final StringBuilder output, final TextRenderer textRenderer) {
final String msg = this.message;
textRenderer.render(this.name, output, "Name");
if (msg != null) {
@@ -241,49 +237,50 @@ public class ThrowableProxy implements Serializable {
}
private void formatSuppressed(final StringBuilder sb, final String prefix, final ThrowableProxy[] suppressedProxies,
- final List<String> ignorePackages, final TextRenderer textRenderer) {
- if (suppressedProxies == null) {
- return;
- }
- for (final ThrowableProxy suppressedProxy : suppressedProxies) {
- formatThrowableProxy(sb, prefix, SUPPRESSED_LABEL, suppressedProxy, ignorePackages, textRenderer);
- }
- }
-
- private void formatElements(final StringBuilder sb, final String prefix, final int commonCount,
- final StackTraceElement[] causedTrace, final ExtendedStackTraceElement[] extStackTrace,
- final List<String> ignorePackages, final TextRenderer textRenderer) {
- if (ignorePackages == null || ignorePackages.isEmpty()) {
- for (final ExtendedStackTraceElement element : extStackTrace) {
- this.formatEntry(element, sb, prefix, textRenderer);
- }
- } else {
- int count = 0;
- for (int i = 0; i < extStackTrace.length; ++i) {
- if (!this.ignoreElement(causedTrace[i], ignorePackages)) {
- if (count > 0) {
- appendSuppressedCount(sb, prefix, count, textRenderer);
- count = 0;
- }
- this.formatEntry(extStackTrace[i], sb, prefix, textRenderer);
- } else {
- ++count;
- }
- }
- if (count > 0) {
- appendSuppressedCount(sb, prefix, count, textRenderer);
- }
- }
- if (commonCount != 0) {
+ final List<String> ignorePackages, final TextRenderer textRenderer) {
+ if (suppressedProxies == null) {
+ return;
+ }
+ for (final ThrowableProxy suppressedProxy : suppressedProxies) {
+ formatThrowableProxy(sb, prefix, SUPPRESSED_LABEL, suppressedProxy, ignorePackages, textRenderer);
+ }
+ }
+
+ private void formatElements(final StringBuilder sb, final String prefix, final int commonCount,
+ final StackTraceElement[] causedTrace, final ExtendedStackTraceElement[] extStackTrace,
+ final List<String> ignorePackages, final TextRenderer textRenderer) {
+ if (ignorePackages == null || ignorePackages.isEmpty()) {
+ for (final ExtendedStackTraceElement element : extStackTrace) {
+ this.formatEntry(element, sb, prefix, textRenderer);
+ }
+ } else {
+ int count = 0;
+ for (int i = 0; i < extStackTrace.length; ++i) {
+ if (!this.ignoreElement(causedTrace[i], ignorePackages)) {
+ if (count > 0) {
+ appendSuppressedCount(sb, prefix, count, textRenderer);
+ count = 0;
+ }
+ this.formatEntry(extStackTrace[i], sb, prefix, textRenderer);
+ } else {
+ ++count;
+ }
+ }
+ if (count > 0) {
+ appendSuppressedCount(sb, prefix, count, textRenderer);
+ }
+ }
+ if (commonCount != 0) {
textRenderer.render(prefix, sb, "Prefix");
textRenderer.render("\t... ", sb, "More");
textRenderer.render(Integer.toString(commonCount), sb, "More");
textRenderer.render(" more", sb, "More");
textRenderer.render(EOL_STR, sb, "Text");
- }
- }
+ }
+ }
- private void appendSuppressedCount(final StringBuilder sb, final String prefix, final int count, final TextRenderer textRenderer) {
+ private void appendSuppressedCount(final StringBuilder sb, final String prefix, final int count,
+ final TextRenderer textRenderer) {
textRenderer.render(prefix, sb, "Prefix");
if (count == 1) {
textRenderer.render("\t... ", sb, "Suppressed");
@@ -295,7 +292,8 @@ public class ThrowableProxy implements Serializable {
textRenderer.render(EOL_STR, sb, "Text");
}
- private void formatEntry(final ExtendedStackTraceElement extStackTraceElement, final StringBuilder sb, final String prefix, final TextRenderer textRenderer) {
+ private void formatEntry(final ExtendedStackTraceElement extStackTraceElement, final StringBuilder sb,
+ final String prefix, final TextRenderer textRenderer) {
textRenderer.render(prefix, sb, "Prefix");
textRenderer.render("\tat ", sb, "At");
extStackTraceElement.renderOn(sb, textRenderer);
@@ -304,11 +302,9 @@ public class ThrowableProxy implements Serializable {
/**
* Formats the specified Throwable.
- *
- * @param sb
- * StringBuilder to contain the formatted Throwable.
- * @param cause
- * The Throwable to format.
+ *
+ * @param sb StringBuilder to contain the formatted Throwable.
+ * @param cause The Throwable to format.
*/
public void formatWrapper(final StringBuilder sb, final ThrowableProxy cause) {
this.formatWrapper(sb, cause, null, PlainTextRenderer.getInstance());
@@ -316,13 +312,10 @@ public class ThrowableProxy implements Serializable {
/**
* Formats the specified Throwable.
- *
- * @param sb
- * StringBuilder to contain the formatted Throwable.
- * @param cause
- * The Throwable to format.
- * @param ignorePackages
- * The List of packages to be suppressed from the trace.
+ *
+ * @param sb StringBuilder to contain the formatted Throwable.
+ * @param cause The Throwable to format.
+ * @param ignorePackages The List of packages to be suppressed from the trace.
*/
@SuppressWarnings("ThrowableResultOfMethodCallIgnored")
public void formatWrapper(final StringBuilder sb, final ThrowableProxy cause, final List<String> ignorePackages) {
@@ -331,18 +324,15 @@ public class ThrowableProxy implements Serializable {
/**
* Formats the specified Throwable.
- *
- * @param sb
- * StringBuilder to contain the formatted Throwable.
- * @param cause
- * The Throwable to format.
- * @param ignorePackages
- * The List of packages to be suppressed from the trace.
- * @param textRenderer
- * The text render
+ *
+ * @param sb StringBuilder to contain the formatted Throwable.
+ * @param cause The Throwable to format.
+ * @param ignorePackages The List of packages to be suppressed from the trace.
+ * @param textRenderer The text render
*/
@SuppressWarnings("ThrowableResultOfMethodCallIgnored")
- public void formatWrapper(final StringBuilder sb, final ThrowableProxy cause, final List<String> ignorePackages, final TextRenderer textRenderer) {
+ public void formatWrapper(final StringBuilder sb, final ThrowableProxy cause, final List<String> ignorePackages,
+ final TextRenderer textRenderer) {
final Throwable caused = cause.getCauseProxy() != null ? cause.getCauseProxy().getThrowable() : null;
if (caused != null) {
this.formatWrapper(sb, cause.causeProxy, ignorePackages, textRenderer);
@@ -351,7 +341,7 @@ public class ThrowableProxy implements Serializable {
cause.renderOn(sb, textRenderer);
textRenderer.render(EOL_STR, sb, "Text");
this.formatElements(sb, Strings.EMPTY, cause.commonElementCount,
- cause.getThrowable().getStackTrace(), cause.extendedStackTrace, ignorePackages, textRenderer);
+ cause.getThrowable().getStackTrace(), cause.extendedStackTrace, ignorePackages, textRenderer);
}
public ThrowableProxy getCauseProxy() {
@@ -360,7 +350,7 @@ public class ThrowableProxy implements Serializable {
/**
* Formats the Throwable that is the cause of this Throwable.
- *
+ *
* @return The formatted Throwable that caused this Throwable.
*/
public String getCauseStackTraceAsString() {
@@ -369,9 +359,8 @@ public class ThrowableProxy implements Serializable {
/**
* Formats the Throwable that is the cause of this Throwable.
- *
- * @param packages
- * The List of packages to be suppressed from the trace.
+ *
+ * @param packages The List of packages to be suppressed from the trace.
* @return The formatted Throwable that caused this Throwable.
*/
public String getCauseStackTraceAsString(final List<String> packages) {
@@ -380,11 +369,9 @@ public class ThrowableProxy implements Serializable {
/**
* Formats the Throwable that is the cause of this Throwable.
- *
- * @param ignorePackages
- * The List of packages to be suppressed from the trace.
- * @param textRenderer
- * the text renderer
+ *
+ * @param ignorePackages The List of packages to be suppressed from the trace.
+ * @param textRenderer the text renderer
* @return The formatted Throwable that caused this Throwable.
*/
public String getCauseStackTraceAsString(final List<String> ignorePackages, final TextRenderer textRenderer) {
@@ -396,14 +383,14 @@ public class ThrowableProxy implements Serializable {
this.renderOn(sb, textRenderer);
textRenderer.render(EOL_STR, sb, "Text");
this.formatElements(sb, Strings.EMPTY, 0, this.throwable.getStackTrace(), this.extendedStackTrace,
- ignorePackages, textRenderer);
+ ignorePackages, textRenderer);
return sb.toString();
}
/**
* Returns the number of elements that are being omitted because they are common with the parent Throwable's stack
* trace.
- *
+ *
* @return The number of elements omitted from the stack trace.
*/
public int getCommonElementCount() {
@@ -412,7 +399,7 @@ public class ThrowableProxy implements Serializable {
/**
* Gets the stack trace including packaging information.
- *
+ *
* @return The stack trace including packaging information.
*/
public ExtendedStackTraceElement[] getExtendedStackTrace() {
@@ -421,7 +408,7 @@ public class ThrowableProxy implements Serializable {
/**
* Format the stack trace including packaging information.
- *
+ *
* @return The formatted stack trace including packaging information.
*/
public String getExtendedStackTraceAsString() {
@@ -430,9 +417,8 @@ public class ThrowableProxy implements Serializable {
/**
* Format the stack trace including packaging information.
- *
- * @param ignorePackages
- * List of packages to be ignored in the trace.
+ *
+ * @param ignorePackages List of packages to be ignored in the trace.
* @return The formatted stack trace including packaging information.
*/
public String getExtendedStackTraceAsString(final List<String> ignorePackages) {
@@ -441,11 +427,9 @@ public class ThrowableProxy implements Serializable {
/**
* Format the stack trace including packaging information.
- *
- * @param ignorePackages
- * List of packages to be ignored in the trace.
- * @param textRenderer
- * The message renderer
+ *
+ * @param ignorePackages List of packages to be ignored in the trace.
+ * @param textRenderer The message renderer
* @return The formatted stack trace including packaging information.
*/
public String getExtendedStackTraceAsString(final List<String> ignorePackages, final TextRenderer textRenderer) {
@@ -471,7 +455,7 @@ public class ThrowableProxy implements Serializable {
/**
* Return the FQCN of the Throwable.
- *
+ *
* @return The FQCN of the Throwable.
*/
public String getName() {
@@ -484,7 +468,7 @@ public class ThrowableProxy implements Serializable {
/**
* Gets proxies for suppressed exceptions.
- *
+ *
* @return proxies for suppressed exceptions.
*/
public ThrowableProxy[] getSuppressedProxies() {
@@ -493,7 +477,7 @@ public class ThrowableProxy implements Serializable {
/**
* Format the suppressed Throwables.
- *
+ *
* @return The formatted suppressed Throwables.
*/
public String getSuppressedStackTrace() {
@@ -510,7 +494,7 @@ public class ThrowableProxy implements Serializable {
/**
* The throwable or null if this object is deserialized from XML or JSON.
- *
+ *
* @return The throwable or null if this object is deserialized from XML or JSON.
*/
public Throwable getThrowable() {
@@ -543,11 +527,9 @@ public class ThrowableProxy implements Serializable {
/**
* Loads classes not located via Reflection.getCallerClass.
- *
- * @param lastLoader
- * The ClassLoader that loaded the Class that called this Class.
- * @param className
- * The name of the Class.
+ *
+ * @param lastLoader The ClassLoader that loaded the Class that called this Class.
+ * @param className The name of the Class.
* @return The Class object for the Class or null if it could not be located.
*/
private Class<?> loadClass(final ClassLoader lastLoader, final String className) {
@@ -583,18 +565,14 @@ public class ThrowableProxy implements Serializable {
/**
* Construct the CacheEntry from the Class's information.
- *
- * @param stackTraceElement
- * The stack trace element
- * @param callerClass
- * The Class.
- * @param exact
- * True if the class was obtained via Reflection.getCallerClass.
- *
+ *
+ * @param stackTraceElement The stack trace element
+ * @param callerClass The Class.
+ * @param exact True if the class was obtained via Reflection.getCallerClass.
* @return The CacheEntry.
*/
private CacheEntry toCacheEntry(final StackTraceElement stackTraceElement, final Class<?> callerClass,
- final boolean exact) {
+ final boolean exact) {
String location = "?";
String version = "?";
ClassLoader lastLoader = null;
@@ -631,19 +609,16 @@ public class ThrowableProxy implements Serializable {
/**
* Resolve all the stack entries in this stack trace that are not common with the parent.
- *
- * @param stack
- * The callers Class stack.
- * @param map
- * The cache of CacheEntry objects.
- * @param rootTrace
- * The first stack trace resolve or null.
- * @param stackTrace
- * The stack trace being resolved.
+ *
+ * @param stack The callers Class stack.
+ * @param map The cache of CacheEntry objects.
+ * @param rootTrace The first stack trace resolve or null.
+ * @param stackTrace The stack trace being resolved.
* @return The StackTracePackageElement array.
*/
ExtendedStackTraceElement[] toExtendedStackTrace(final Stack<Class<?>> stack, final Map<String, CacheEntry> map,
- final StackTraceElement[] rootTrace, final StackTraceElement[] stackTrace) {
+ final StackTraceElement[] rootTrace,
+ final StackTraceElement[] stackTrace) {
int stackLength;
if (rootTrace != null) {
int rootIndex = rootTrace.length - 1;
@@ -684,7 +659,7 @@ public class ThrowableProxy implements Serializable {
}
} else {
final CacheEntry entry = this.toCacheEntry(stackTraceElement,
- this.loadClass(lastLoader, className), false);
+ this.loadClass(lastLoader, className), false);
extClassInfo = entry.element;
map.put(stackTraceElement.toString(), entry);
if (entry.loader != null) {