Author: toad
Date: 2007-08-15 18:12:29 +0000 (Wed, 15 Aug 2007)
New Revision: 14711
Modified:
trunk/freenet/src/freenet/support/FileLoggerHook.java
Log:
Somewhat faster trace logging
Modified: trunk/freenet/src/freenet/support/FileLoggerHook.java
===================================================================
--- trunk/freenet/src/freenet/support/FileLoggerHook.java 2007-08-15
17:36:20 UTC (rev 14710)
+++ trunk/freenet/src/freenet/support/FileLoggerHook.java 2007-08-15
18:12:29 UTC (rev 14711)
@@ -822,18 +822,20 @@
if (e != null) {
- // Convert the stack trace to a string.
- ByteArrayOutputStream bos = new
ByteArrayOutputStream(350);
- PrintWriter bpw = new PrintWriter(bos);
- try {
- e.printStackTrace(bpw);
- } catch (NullPointerException ex) {
- log(this, getClass(), "Got evil
NPE-in-stack-trace bug", null, ERROR);
- bpw.println("[ evil NPE-in-stack-trace
triggered ]");
+ sb.append(e.toString());
+
+ StackTraceElement[] trace = e.getStackTrace();
+
+ if(trace == null)
+ sb.append("(null)");
+ else {
+ sb.append('\n');
+ for(int i=0;i<trace.length;i++) {
+ sb.append("\tat ");
+ sb.append(trace[i].toString());
+ sb.append('\n');
+ }
}
- bpw.flush();
-
- sb.append(bos.toString());
}
logString(sb.toString().getBytes());