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
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();
|
|
}
|
|
}
|