0
我有一個RCP應用程序,我想捕獲所有堆棧跟蹤。我目前使用slf4j作爲我的日誌機制。舉個例子,如果我在eclipse中運行我的RCP應用程序,我可以查看控制檯窗口並查看代碼未明確捕獲的任何堆棧軌跡。如果我導出應用程序並在eclipse之外運行它,我將不會看到這些堆棧跟蹤。我不希望繁瑣地將代碼更改爲使用try/catch塊(因爲有很多代碼)。我寧願利用Eclipse用來做同樣事情的任何機制(它不會將try/catch放入我的代碼中,但它會在控制檯中報告它)。有沒有一種簡單的方法可以完成Eclipse在我的RCP代碼中執行的操作,這樣當我從eclipse外部運行它時,它會顯示在我的日誌文件中?Java - 捕獲所有堆棧跟蹤
當您從Eclipse內部運行RCP時,將啓動一個新的JVM來運行它。 Eclipse控制檯僅顯示新JVM輸出的所有內容。所以這不是你可以在Eclipse之外使用的東西。 [這個問題](https://stackoverflow.com/q/29900137/2670892)提到了一些你可以嘗試的方法。 –
也許我錯過了一些東西,但該鏈接顯示了RCP 3x方式和內部包裝方式。這也不是可行的解決方案。我錯過了另一種方式嗎? – ekjcfn3902039
雖然IEventLoopAdvisor是一個內部類,但它似乎是捕獲e4中未處理的異常的最佳方式。不少e4 API仍被歸入內部,因爲設計仍然沒有完成。他們不太可能發生顯着變化(在本月發佈的Eclipse Oxygen中肯定沒有問題)。 –