org.apache.log.util
Class StackIntrospector

java.lang.Object
  extended byorg.apache.log.util.StackIntrospector

public final class StackIntrospector
extends java.lang.Object

A set of utilities to inspect current stack frame.

Version:
$Id: StackIntrospector.java 30977 2004-07-30 08:57:54Z niclas $
Author:
Avalon Development Team, Sylvain Wallez, Stuart Roebuck

Method Summary
static java.lang.Class getCallerClass(java.lang.Class clazz)
          Find the caller of the passed in Class.
static java.lang.Class getCallerClass(java.lang.Class clazz, int stackDepthOffset)
          Find the caller of the passed in Class.
static java.lang.String getCallerMethod(java.lang.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.
static java.lang.String getRecentStack(java.lang.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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getCallerClass

public static final java.lang.Class getCallerClass(java.lang.Class clazz)
                                            throws java.lang.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:
java.lang.SecurityException - if an existing SecurityManager disallows construction of another SecurityManager and thus blocks method results

getCallerClass

public static final java.lang.Class getCallerClass(java.lang.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:
java.lang.SecurityException - if an existing SecurityManager disallows construction of another SecurityManager and thus blocks method results

getCallerMethod

public static final java.lang.String getCallerMethod(java.lang.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 java.lang.String getRecentStack(java.lang.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"


Copyright © 1997-2005 The Apache Software Foundation. All Rights Reserved.