TracingPrintStream not useful for Exception.printStackTrace etc.
sfPlayer1 opened this issue · 0 comments
sfPlayer1 commented
Some invocations currently result in messages like this:
[12:22:04] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: ...
I'd change it as follows to be less dependent on directly invoking System.out/err.println:
private String getPrefix() {
StackTraceElement[] elems = Thread.currentThread().getStackTrace();
int start = BASE_DEPTH;
StackTraceElement elem = elems[start];
while (elem.getClassName().equals("net.minecraftforge.fml.common.TracingPrintStream") ||
elem.getClassName().startsWith("java.") ||
elem.getClassName().startsWith("kotlin.io.")) {
start++;
if (start >= elems.length) {
elem = elems[BASE_DEPTH];
break;
} else {
elem = elems[start];
}
}
return "[" + elem.getClassName() + ":" + elem.getMethodName() + ":" + elem.getLineNumber() + "]: ";
}
BASE_DEPTH could be removed/replaced by 0.