Package org.apache.logging.log4j.util
Class StackLocatorUtil
java.lang.Object
org.apache.logging.log4j.util.StackLocatorUtil
Consider this class private. Provides various methods to determine the caller class.
- Since:
- 2.9.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic StackTraceElementcalcLocation(String fqcnOfLogger) static Class<?>getCallerClass(int depth) static Class<?>getCallerClass(Class<?> anchor) static Class<?>getCallerClass(Class<?> sentinelClass, Predicate<Class<?>> callerPredicate) Search for a calling class.static Class<?>getCallerClass(String fqcn) Equivalent togetCallerClass(String, String)with an emptypkg.static Class<?>getCallerClass(String fqcn, String pkg) Search for a calling class.static ClassLoadergetCallerClassLoader(int depth) Gets the ClassLoader of the class that called this method at the location up the call stack by the given stack frame depth.static StackTraceElementgetStackTraceElement(int depth)
-
Method Details
-
getCallerClass
-
getStackTraceElement
-
getCallerClass
Equivalent togetCallerClass(String, String)with an emptypkg. -
getCallerClass
Search for a calling class.- Parameters:
fqcn- Root class name whose caller to search for.pkg- Package name prefix that must be matched after thefqcnhas been found.- Returns:
- The caller class that was matched, or null if one could not be located.
-
getCallerClassLoader
Gets the ClassLoader of the class that called this method at the location up the call stack by the given stack frame depth.This method returns
nullif:sun.reflect.Reflection.getCallerClass(int)is not present.- An exception is caught calling
sun.reflect.Reflection.getCallerClass(int). - Some Class implementations may use null to represent the bootstrap class loader.
- Parameters:
depth- The stack frame count to walk.- Returns:
- A class or null.
- Throws:
IndexOutOfBoundsException- if depth is negative.- Since:
- 2.17.2
-
getCallerClass
Search for a calling class.- Parameters:
sentinelClass- Sentinel class at which to begin searchingcallerPredicate- Predicate checked after the sentinelClass is found- Returns:
- the first matching class after
sentinelClassis found. - Since:
- 2.15.0
-
getCallerClass
-
getCurrentStackTrace
- Since:
- 2.17.2
-
calcLocation
-