public class StackTraceUtils
extends Object
Originally was grails.utils.GrailsUtils, removed some grails specific stuff. Utility methods removing internal lines from stack traces
| Modifiers | Name | Description |
|---|---|---|
static String |
STACK_LOG_NAME |
The logger name for sanitized stack traces. |
| Type Params | Return Type | Name and description |
|---|---|---|
|
public static void |
addClassTest(Closure test)Adds a groovy.lang.Closure to test whether the stack trace element should be added or not. |
|
public static Throwable |
deepSanitize(Throwable t)Sanitize the exception and ALL nested causes |
|
public static Throwable |
extractRootCause(Throwable t)Extracts the root cause of the exception, no matter how nested it is |
|
public static boolean |
isApplicationClass(String className)Determines whether the given class name is an application class (not a Groovy runtime class). |
|
public static void |
printSanitizedStackTrace(Throwable t, PrintWriter p)Prints the sanitized stack trace of the exception to the given writer. |
|
public static void |
printSanitizedStackTrace(Throwable t)Prints the sanitized stack trace of the exception to standard error. |
|
public static Throwable |
sanitize(Throwable t)Remove all apparently groovy-internal trace entries from the exception instance |
|
public static Throwable |
sanitizeRootCause(Throwable t)Get the root cause of an exception and sanitize it for display to the user |
The logger name for sanitized stack traces.
Adds a groovy.lang.Closure to test whether the stack trace element should be added or not.
The groovy.lang.Closure will be given the class name as parameter. the return value decides if the element will be added or not.
test - the testing groovy.lang.ClosureSanitize the exception and ALL nested causes
This will MODIFY the stacktrace of the exception instance and all its causes irreversibly
t - a throwableExtracts the root cause of the exception, no matter how nested it is
t - a ThrowableDetermines whether the given class name is an application class (not a Groovy runtime class). First checks any registered test closures, then checks against known Groovy packages.
className - the fully qualified class name to checktrue if the class is an application class, false if it's a Groovy runtime classPrints the sanitized stack trace of the exception to the given writer. Removes apparently groovy-internal trace entries.
t - the Throwable whose stack trace to printp - the PrintWriter to print toPrints the sanitized stack trace of the exception to standard error. Removes apparently groovy-internal trace entries.
t - the Throwable whose stack trace to printRemove all apparently groovy-internal trace entries from the exception instance
This modifies the original instance and returns it, it does not clone
t - the Throwable whose stack trace we want to sanitizeGet the root cause of an exception and sanitize it for display to the user
This will MODIFY the stacktrace of the root cause exception object and return it
t - a throwable