Package io.microsphere.util
Class StackTraceUtils
- java.lang.Object
-
- io.microsphere.util.StackTraceUtils
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.Class<?>STACK_WALKER_CLASSTheClassof java.lang.StackWalker that was introduced in JDK 9.static java.lang.StringSTACK_WALKER_CLASS_NAMEThe class name of java.lang.StackWalker that was introduced in JDK 9.static java.lang.Class<?>STACK_WALKER_OPTION_CLASSTheClassof java.lang.StackWalker.Option that was introduced in JDK 9.static java.lang.StringSTACK_WALKER_OPTION_CLASS_NAMEThe class name of java.lang.StackWalker.Option that was introduced in JDK 9.static java.lang.Class<?>STACK_WALKER_STACK_FRAME_CLASSTheClassof java.lang.StackWalker.StackFrame that was introduced in JDK 9.static java.lang.StringSTACK_WALKER_STACK_FRAME_CLASS_NAMEThe class name of java.lang.StackWalker.StackFrame that was introduced in JDK 9.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringgetCallerClassName()Retrieves the fully qualified name of the class that called this method.static java.lang.StackTraceElement[]getStackTrace()Retrieves the stack trace elements for the current thread's call stack.
-
-
-
Field Detail
-
STACK_WALKER_CLASS_NAME
public static final java.lang.String STACK_WALKER_CLASS_NAME
The class name of java.lang.StackWalker that was introduced in JDK 9.- See Also:
- Constant Field Values
-
STACK_WALKER_OPTION_CLASS_NAME
public static final java.lang.String STACK_WALKER_OPTION_CLASS_NAME
The class name of java.lang.StackWalker.Option that was introduced in JDK 9.- See Also:
- Constant Field Values
-
STACK_WALKER_STACK_FRAME_CLASS_NAME
public static final java.lang.String STACK_WALKER_STACK_FRAME_CLASS_NAME
The class name of java.lang.StackWalker.StackFrame that was introduced in JDK 9.- See Also:
- Constant Field Values
-
STACK_WALKER_CLASS
@Nullable public static final java.lang.Class<?> STACK_WALKER_CLASS
TheClassof java.lang.StackWalker that was introduced in JDK 9. (optional)
-
STACK_WALKER_OPTION_CLASS
@Nullable public static final java.lang.Class<?> STACK_WALKER_OPTION_CLASS
TheClassof java.lang.StackWalker.Option that was introduced in JDK 9. (optional)
-
STACK_WALKER_STACK_FRAME_CLASS
@Nullable public static final java.lang.Class<?> STACK_WALKER_STACK_FRAME_CLASS
TheClassof java.lang.StackWalker.StackFrame that was introduced in JDK 9. (optional)
-
-
Method Detail
-
getStackTrace
@Nonnull public static java.lang.StackTraceElement[] getStackTrace()
Retrieves the stack trace elements for the current thread's call stack.This method is useful for inspecting the sequence of method calls that led to the current point of execution. It can be used for debugging, logging, or monitoring purposes.
Example Usage
StackTraceElement[] stackTrace = StackTraceUtils.getStackTrace(); for (StackTraceElement element : stackTrace) { System.out.println(element); }- Returns:
- a non-null array of
StackTraceElementrepresenting the current thread's stack trace
-
getCallerClassName
public static java.lang.String getCallerClassName()
Retrieves the fully qualified name of the class that called this method.This method utilizes either
java.lang.StackWalker(available in JDK 9+) or falls back to usingStackTraceElementto determine the caller's class name. It ensures compatibility across different JVM versions.Example Usage
String callerClassName = StackTraceUtils.getCallerClassName(); System.out.println("Caller class: " + callerClassName);- Returns:
- the fully qualified name of the calling class
- Throws:
java.lang.IndexOutOfBoundsException- if the stack trace does not have enough frames to determine the caller
-
-