package de.tvo.tools;
import java.sql.Timestamp;
public class Exceptions {
public static String createRTStackTrace(final Throwable e) {
final StringBuilder stackTrace = new StringBuilder();
stackTrace.append(e.getClass().getName());
if (e.getMessage() != null && !e.getMessage().trim().isEmpty()) {
stackTrace.append(": ");
stackTrace.append(e.getMessage());
}
stackTrace.append("
");
for (final StackTraceElement element : e.getStackTrace()) {
stackTrace.append("at ");
stackTrace.append(element.toString());
stackTrace.append("
");
}
stackTrace.append("
");
return stackTrace.toString();
}
public static String createHTMLStackTrace(final Throwable e) {
final StringBuilder stackTrace = new StringBuilder();
stackTrace.append("");
stackTrace.append(e.getClass().getName());
if (e.getMessage() != null && !e.getMessage().trim().isEmpty()) {
stackTrace.append(": ");
stackTrace.append(e.getMessage());
}
stackTrace.append("");
for (final StackTraceElement element : e.getStackTrace()) {
stackTrace.append("at ");
stackTrace.append(element.toString());
stackTrace.append("
");
}
stackTrace.append("
");
stackTrace.append("");
return stackTrace.toString();
}
public static String createStringStackTrace(final Throwable e) {
final StringBuilder stackTrace = new StringBuilder();
stackTrace.append(e.getClass().getName());
if (e.getMessage() != null && !e.getMessage().trim().isEmpty()) {
stackTrace.append(": ");
stackTrace.append(e.getMessage());
}
for (final StackTraceElement element : e.getStackTrace()) {
stackTrace.append("\tat ");
stackTrace.append(element.toString());
stackTrace.append('\n');
}
return stackTrace.toString();
}
/**
*
* @return StringBuilder for further appending
* Example:
* 2017-07-07 08:42:54.286 - de.geis.tools.Exceptions.main(Exceptions.java:67)hallO
*/
public final static StringBuilder createDebugInfos() {
return new StringBuilder(new Timestamp(System.currentTimeMillis()).toString()).append(" - ").append(new Exception().getStackTrace()[1].toString());
}
public final static String prettyPrintTvoException(Throwable e, boolean consolePrint){
StringBuilder builder = new StringBuilder(e.getClass().getSimpleName());
if (e.getMessage() != null) {
builder.append("\t\tMessage: \"").append(e.getMessage()).append('\"');
}
for (StackTraceElement petter : e.getStackTrace()) {
if (petter.getClassName().startsWith("de.tvo") || petter.getClassName().startsWith("managedbeans")) {
builder.append("\n\t").append(petter);
}
}
if (consolePrint) {
System.out.println(builder.toString());
}
return builder.toString();
}
}