package com.github.aesteve.vertx.nubes.utils; public interface StackTracePrinter { static StringBuilder asHtml(StringBuilder sb, Throwable error) { sb.append("<div class=\"exception\">"); sb.append("<div class=\"exception-msg\">").append(error.getMessage()).append("</div>"); sb.append("<ul class=\"stacktrace\">"); for (StackTraceElement ste : error.getStackTrace()) { sb.append("<li>").append(ste.toString()).append("</li>"); } sb.append("</ul>"); sb.append("</div>"); if (error.getCause() != null) { sb.append("<div class=\"caused-by\">Caused by : </div>"); asHtml(sb, error.getCause()); } return sb; } static StringBuilder asLineString(StringBuilder sb, Throwable error) { sb.append("Exception : ").append(error.getMessage()).append("\n"); for (StackTraceElement ste : error.getStackTrace()) { sb.append(" ").append(ste.toString()).append("\n"); } if (error.getCause() != null) { sb.append("Caused by : \n"); asLineString(sb, error.getCause()); } return sb; } }