From: Egon W. <eg...@us...> - 2003-04-15 09:35:51
|
Update of /cvsroot/cdk/cdk/src/org/openscience/cdk/tools In directory sc8-pr-cvs1:/tmp/cvs-serv8885/src/org/openscience/cdk/tools Modified Files: LoggingTool.java Log Message: Added a method debug(Exception) to LoggingTool Index: LoggingTool.java =================================================================== RCS file: /cvsroot/cdk/cdk/src/org/openscience/cdk/tools/LoggingTool.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- LoggingTool.java 18 Feb 2003 12:14:10 -0000 1.4 +++ LoggingTool.java 15 Apr 2003 09:35:17 -0000 1.5 @@ -32,6 +32,11 @@ private Object logger; private String classname; + + /** Default number of StackTraceElements to be printed by debug(Exception) */ + private final int DEFAULT_STACK_LENGTH = 5; + + private int stackLength = DEFAULT_STACK_LENGTH; public LoggingTool() { this( LoggingTool.class.getName() ); @@ -96,10 +101,32 @@ debug("java.vendor : " + System.getProperty("java.vendor")); } + /** + * Sets the number of StackTraceElements to be printed in DEBUG mode. + * Defaults to DEFAULT_STACK_LENGTH. + * + * @see #DEFAULT_STACK_LENGTH + */ + public void setStackLength(int length) { + this.stackLength = length; + } + public void dumpClasspath() { debug("java.class.path: " + System.getProperty("java.class.path")); } + public void debug(Exception exception) { + StackTraceElement[] stack = exception.getStackTrace(); + String string = "Exception: " + exception.toString(); + this.debug(string); + for (int i=0; i<stack.length; i++) { + string = " in: " + stack[i].getFileName() + " (line: " + + stack[i].getLineNumber() + ")"; + this.debug(string); + if (i == this.stackLength) i = stack.length; + } + } + public void debug(String s) { if (debug) { if (tostdout) { |