我正在尝试从Apache Camel中的onException处理程序中检索堆栈跟踪:
<onException>
<exception>java.lang.Exception</exception>
<handled>
<constant>true</constant>
</handled>
<setHeader headerName="exception">
<simple>${exception}</simple>
</setHeader>
</onException>
但是,上面只显示异常而不是整个堆栈跟踪。
我理解Camel将捕获的异常作为Exchange上的属性存储,其密钥为:Exchange.EXCEPTION_CAUGHT,但是如何从camel context routes文件中检索它?
答案 0 :(得分:28)
使用exception.stacktrace获取堆栈跟踪。请参阅此页面中表格中列出的变量:http://camel.apache.org/simple
<simple>${exception.stacktrace}</simple>
还有$ {exception.message}来引用异常消息本身。