From c1ef21315036e1b36325ccbc3a45f3ada3e22c06 Mon Sep 17 00:00:00 2001 From: hns Date: Thu, 19 Feb 2004 10:40:14 +0000 Subject: [PATCH] Make class JDK 1.3 compatible by implementing our own stack trace to string method --- src/helma/util/Logger.java | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/helma/util/Logger.java b/src/helma/util/Logger.java index 0fa95ed0..6b0c1158 100644 --- a/src/helma/util/Logger.java +++ b/src/helma/util/Logger.java @@ -188,7 +188,7 @@ public class Logger implements Log { public void trace(Object parm1, Throwable parm2) { if (logLevel <= TRACE) log(parm1.toString() + "\n" + - parm2.getStackTrace().toString()); + getStackTrace(parm2)); } public void debug(Object parm1) { @@ -199,7 +199,7 @@ public class Logger implements Log { public void debug(Object parm1, Throwable parm2) { if (logLevel <= DEBUG) log(parm1.toString() + "\n" + - parm2.getStackTrace().toString()); + getStackTrace(parm2)); } public void info(Object parm1) { @@ -210,7 +210,7 @@ public class Logger implements Log { public void info(Object parm1, Throwable parm2) { if (logLevel <= INFO) log(parm1.toString() + "\n" + - parm2.getStackTrace().toString()); + getStackTrace(parm2)); } public void warn(Object parm1) { @@ -221,7 +221,7 @@ public class Logger implements Log { public void warn(Object parm1, Throwable parm2) { if (logLevel <= WARN) log(parm1.toString() + "\n" + - parm2.getStackTrace().toString()); + getStackTrace(parm2)); } public void error(Object parm1) { @@ -232,7 +232,7 @@ public class Logger implements Log { public void error(Object parm1, Throwable parm2) { if (logLevel <= ERROR) log(parm1.toString() + "\n" + - parm2.getStackTrace().toString()); + getStackTrace(parm2)); } public void fatal(Object parm1) { @@ -243,7 +243,16 @@ public class Logger implements Log { public void fatal(Object parm1, Throwable parm2) { if (logLevel <= FATAL) log(parm1.toString() + "\n" + - parm2.getStackTrace().toString()); + getStackTrace(parm2)); + } + + // utility method to get the stack trace from a Throwable as string + public static String getStackTrace(Throwable t) { + StringWriter stringWriter = new StringWriter(); + PrintWriter writer = new PrintWriter(stringWriter); + t.printStackTrace(writer); + writer.close(); + return stringWriter.toString(); } }