[Java] Class StackTraceUtils
- org.codehaus.groovy.runtime.StackTraceUtils
Originally was grails.utils.GrailsUtils, removed some grails specific stuff. Utility methods removing internal lines from stack traces
- Authors:
- Graeme Rocher
- Since:
- 1.5
Field Summary
Modifiers | Name | Description |
---|---|---|
static String | STACK_LOG_NAME |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
static void |
addClassTest(Closure test) Adds a groovy.lang.Closure to test whether the stack trace element should be added or not. | |
static Throwable |
deepSanitize(Throwable t) Sanitize the exception and ALL nested causes | |
static Throwable |
extractRootCause(Throwable t) Extracts the root cause of the exception, no matter how nested it is | |
static boolean |
isApplicationClass(String className) | |
static void |
printSanitizedStackTrace(Throwable t, PrintWriter p) | |
static void |
printSanitizedStackTrace(Throwable t) | |
static Throwable |
sanitize(Throwable t) Remove all apparently groovy-internal trace entries from the exception instance | |
static Throwable |
sanitizeRootCause(Throwable t) Get the root cause of an exception and sanitize it for display to the user |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Field Detail
public static final String STACK_LOG_NAME
Method Detail
public static void addClassTest(Closure test)
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.
- true - trace element will be added to the trace
- false - trace element will not be added to the trace
- null - continue with next test
- Parameters:
-
test
- the testing groovy.lang.Closure
public static Throwable deepSanitize(Throwable t)
Sanitize the exception and ALL nested causes
This will MODIFY the stacktrace of the exception instance and all its causes irreversibly
- Parameters:
-
t
- a throwable
- Returns:
- The root cause exception instances, with stack trace modified to filter out groovy runtime classes
public static Throwable extractRootCause(Throwable t)
Extracts the root cause of the exception, no matter how nested it is
- Parameters:
-
t
- a Throwable
- Returns:
- The deepest cause of the exception that can be found
public static boolean isApplicationClass(String className)
public static void printSanitizedStackTrace(Throwable t, PrintWriter p)
public static void printSanitizedStackTrace(Throwable t)
public static Throwable sanitize(Throwable t)
Remove all apparently groovy-internal trace entries from the exception instance
This modifies the original instance and returns it, it does not clone
- Parameters:
-
t
- the Throwable whose stack trace we want to sanitize
- Returns:
- The original Throwable but with a sanitized stack trace
public static Throwable sanitizeRootCause(Throwable t)
Get 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
- Parameters:
-
t
- a throwable
- Returns:
- The root cause exception instance, with its stace trace modified to filter out groovy runtime classes
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/org/codehaus/groovy/runtime/StackTraceUtils.html