1. 程式人生 > >JAVA 日誌異常沒有列印堆疊資訊問題

JAVA 日誌異常沒有列印堆疊資訊問題

在生產環境中異常資訊沒有堆疊資訊的異常
2018-06-23 12:10:00.029 [ threadPoolTaskScheduler-10 ] - [ ERROR ] [ com.vanvov.hms.exception.SchedulerErrorHandler : 20 ] - 定時任務出現異常
java.lang.NullPointerException: null

原因:發現伺服器中日誌檔案只有異常,但是沒有列印堆疊資訊,找之前的日誌檔案發現有完整的堆疊異常資訊

這個問題其實是跟JDK5引入的一個新特性有關,對於一些頻繁丟擲的異常,JDK為了效能會做一個優化,
在JIT重新編譯後會丟擲沒有堆疊的異常。在使用server模式的時候,這個優化是開啟的

通過啟動引數加入:-XX:-OmitStackTraceInFastThrow ,可以去掉該特性

資料: