我正在将异常的主体转换为字符串,然后将该异常通过电子邮件发送到java中的给定地址.我想用html格式化我的异常字符串,使其成为一种人类可读的格式,类似于它在堆栈溢出时的显示方式.我想知道Java中是否有任何库可以执行此操作?
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
t.printStackTrace(printWriter);
String body = stringWriter.toString();
//add html to body here
setMessageBody(body);
Run Code Online (Sandbox Code Playgroud)
要详细说明,我的意思是将行分开<br/>,使用不同颜色的字体显示类名称,使用不同颜色的字体显示行号.这可以通过一些正则表达式完成,但我想知道是否有一个开箱即用的库.
它不做颜色,但一个非常简单的方法是将堆栈跟踪包装在HTML <pre>元素中.这将至少保留空白和新行.
例如
<pre>
java.lang.ClassCastException: java.lang.Double cannot be cast to java.math.BigDecimal
at org.hibernate.type.descriptor.java.BigDecimalTypeDescriptor.unwrap(BigDecimalTypeDescriptor.java:36)
at org.hibernate.type.descriptor.sql.DecimalTypeDescriptor$1.doBind(DecimalTypeDescriptor.java:65)
at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:90)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:286)
</pre>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2585 次 |
| 最近记录: |