, StringWriter, , :
public static void main(String[] args) throws ParseException {
try {
throw new Exception("Argh!");
} catch (Exception e) {
System.err.println(shortenedStackTrace(e, 1));
}
}
public static String shortenedStackTrace(Exception e, int maxLines) {
StringWriter writer = new StringWriter();
e.printStackTrace(new PrintWriter(writer));
String[] lines = writer.toString().split("\n");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < Math.min(lines.length, maxLines); i++) {
sb.append(lines[i]).append("\n");
}
return sb.toString();
}
e.getStackTrace() StackTraceElement[]. ( ), . e.getMessage(), .
. . . log4j.
, Thread.currentThread():
Thread.currentThread().getStackTrace();