Java:将throwable/exception的整个堆栈跟踪转换为ByteBuffer的最有效方法?

ike*_*8me 2 java exception stack-trace throwable

将throwable/exception的整个堆栈跟踪转换为ByteBuffer(在Java中)的最有效方法是什么?

具体来说,我需要将整个异常记录到数据库中.Thread.currentThread().getStackTrace()返回StackTraceElement []数组的列表.

然后,Throwable类中有一个printStackTrace()方法?

ass*_*ias 6

如果你真的想这样做,这应该是你需要的:

ByteArrayOutputStream os = new ByteArrayOutputStream();
ex.printStackTrace(new PrintStream(os));
ByteBuffer bb = ByteBuffer.wrap(os.toByteArray());
Run Code Online (Sandbox Code Playgroud)