--- /dev/null
+package net.sf.openrocket.logging;
+
+import java.io.IOException;
+import java.io.Writer;
+
+public class StackTraceWriter extends Writer {
+
+ public static final String PREFIX = " > ";
+
+ private final StringBuilder buffer = new StringBuilder();
+ private boolean addPrefix = true;
+
+ @Override
+ public void write(char[] cbuf, int off, int len) throws IOException {
+ for (int i=0; i<len; i++) {
+ if (addPrefix) {
+ buffer.append(PREFIX);
+ addPrefix = false;
+ }
+ char c = cbuf[off+i];
+ buffer.append(c);
+ if (c == '\n')
+ addPrefix = true;
+ }
+ }
+
+
+ @Override
+ public String toString() {
+ if (addPrefix && buffer.length() > 0) {
+ return buffer.substring(0, buffer.length()-1);
+ } else {
+ return buffer.toString();
+ }
+ }
+
+
+ @Override
+ public void close() throws IOException {
+ // no-op
+ }
+
+ @Override
+ public void flush() throws IOException {
+ // no-op
+ }
+
+}