Class StackIntrospector

java.lang.Object
org.apache.log.util.StackIntrospector

public final class StackIntrospector extends Object
A set of utilities to inspect current stack frame.
Version:
CVS $Revision: 1.16 $ $Date: 2004/02/28 11:31:25 $
Author:
Avalon Development Team, Sylvain Wallez, Stuart Roebuck
  • Field Details

  • Constructor Details

    • StackIntrospector

      private StackIntrospector()
      Private constructor to block instantiation.
  • Method Details

    • getCallStack

      private static StackIntrospector.CallStack getCallStack() throws SecurityException
      Create Hack SecurityManager to get CallStack.
      Returns:
      the CallStack object
      Throws:
      SecurityException - if an existing SecurityManager disallows construction of another SecurityManager
    • getCallerClass

      public static final Class getCallerClass(Class clazz) throws SecurityException
      Find the caller of the passed in Class. May return null if caller not found on execution stack
      Parameters:
      clazz - the Class to search for on stack to find caller of
      Returns:
      the Class of object that called parrameter class
      Throws:
      SecurityException - if an existing SecurityManager disallows construction of another SecurityManager and thus blocks method results
    • getCallerClass

      public static final Class getCallerClass(Class clazz, int stackDepthOffset)
      Find the caller of the passed in Class. May return null if caller not found on execution stack
      Parameters:
      clazz - the Class to search for on stack to find caller of
      stackDepthOffset - Offset call-stack depth to find caller
      Returns:
      the Class of object that called parrameter class
      Throws:
      SecurityException - if an existing SecurityManager disallows construction of another SecurityManager and thus blocks method results
    • getCallerMethod

      public static final String getCallerMethod(Class clazz)
      Get the method path name for the method from which the LogEvent was created, this includes the path name and the source filename and line number if the source was compiled with debugging on.
      Parameters:
      clazz - the Class to search for on stack to find caller of
      Returns:
      The method path name in the form "the.package.path.Method"
    • getRecentStack

      public static final String getRecentStack(Class clazz, int entries)
      Return the current call stack as a String, starting with the first call in the stack after a reference to the clazz class, and then display entries entries.

      This can be useful for debugging code to determine where calls to a method are coming from.

      Parameters:
      clazz - the last class on the stack you are not interested in!
      entries - the number of stack lines to return.
      Returns:
      The method path name in the form "the.package.path.Method"