Package org.codehaus.groovy.runtime
Class StackTraceUtils
- java.lang.Object
- 
- org.codehaus.groovy.runtime.StackTraceUtils
 
- 
 public class StackTraceUtils extends java.lang.ObjectOriginally was grails.utils.GrailsUtils, removed some grails specific stuff. Utility methods removing internal lines from stack traces- Since:
- 1.5
 
- 
- 
Field SummaryFields Modifier and Type Field Description static java.lang.StringSTACK_LOG_NAME
 - 
Constructor SummaryConstructors Constructor Description StackTraceUtils()
 - 
Method SummaryAll Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddClassTest(Closure test)Adds a groovy.lang.Closure to test whether the stack trace element should be added or not.static java.lang.ThrowabledeepSanitize(java.lang.Throwable t)Sanitize the exception and ALL nested causesstatic java.lang.ThrowableextractRootCause(java.lang.Throwable t)Extracts the root cause of the exception, no matter how nested it isstatic booleanisApplicationClass(java.lang.String className)static voidprintSanitizedStackTrace(java.lang.Throwable t)static voidprintSanitizedStackTrace(java.lang.Throwable t, java.io.PrintWriter p)static java.lang.Throwablesanitize(java.lang.Throwable t)Remove all apparently groovy-internal trace entries from the exception instancestatic java.lang.ThrowablesanitizeRootCause(java.lang.Throwable t)Get the root cause of an exception and sanitize it for display to the user
 
- 
- 
- 
Field Detail- 
STACK_LOG_NAMEpublic static final java.lang.String STACK_LOG_NAME - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
addClassTestpublic 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
 
 - 
sanitizepublic static java.lang.Throwable sanitize(java.lang.Throwable t) Remove all apparently groovy-internal trace entries from the exception instanceThis 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
 
 - 
printSanitizedStackTracepublic static void printSanitizedStackTrace(java.lang.Throwable t, java.io.PrintWriter p)
 - 
printSanitizedStackTracepublic static void printSanitizedStackTrace(java.lang.Throwable t) 
 - 
isApplicationClasspublic static boolean isApplicationClass(java.lang.String className) 
 - 
extractRootCausepublic static java.lang.Throwable extractRootCause(java.lang.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
 
 - 
sanitizeRootCausepublic static java.lang.Throwable sanitizeRootCause(java.lang.Throwable t) Get the root cause of an exception and sanitize it for display to the userThis 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
 
 - 
deepSanitizepublic static java.lang.Throwable deepSanitize(java.lang.Throwable t) Sanitize the exception and ALL nested causesThis 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
 
 
- 
 
-