You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.7 KiB

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("<p style=\"margin-left:32px\">");
for (final StackTraceElement element : e.getStackTrace()) {
stackTrace.append("at ");
stackTrace.append(element.toString());
stackTrace.append("<br>");
}
stackTrace.append("</p>");
return stackTrace.toString();
}
public static String createHTMLStackTrace(final Throwable e) {
final StringBuilder stackTrace = new StringBuilder();
stackTrace.append("<html><body>");
stackTrace.append(e.getClass().getName());
if (e.getMessage() != null && !e.getMessage().trim().isEmpty()) {
stackTrace.append(": ");
stackTrace.append(e.getMessage());
}
stackTrace.append("<p style=\"margin-left:32px\">");
for (final StackTraceElement element : e.getStackTrace()) {
stackTrace.append("at ");
stackTrace.append(element.toString());
stackTrace.append("<br>");
}
stackTrace.append("</p>");
stackTrace.append("</body></html>");
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:<br>
* 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();
}
}