将throwable / exception的整个堆栈跟踪转换为ByteBuffer(在Java中)的最有效方法是什么?
具体来说,我需要将整个异常记录到数据库中。 Thread.currentThread()。getStackTrace()返回StackTraceElement []数组的列表。
那么,Throwable类中有一个printStackTrace()方法吗?
答案 0 :(得分:6)
如果你真的想这样做,这应该是你需要的:
ByteArrayOutputStream os = new ByteArrayOutputStream();
ex.printStackTrace(new PrintStream(os));
ByteBuffer bb = ByteBuffer.wrap(os.toByteArray());
答案 1 :(得分:1)
您可以在apache commons中使用ExceptionUtils
类。