java異常堆棧信息丟失

在生產環境上看到tomcat/log/gate.log一直輸出異常信息,可是不見異常堆棧信息。java

Java.lang.NullPointerExceptiontomcat

java.lang.NullPointerExceptionjvm

java.lang.NullPointerException優化

java.lang.NullPointerExceptiongoogle

最開始懷疑是log4j的使用方式有問題,致使打印不出來,可是當前的使用方式只會丟失rootCause,不會丟棄全部的異常堆棧。catalina.out中就覺得是使用了標準輸出打印異常類名...。事實固然不是這樣,後來查看了異常處理點,基本上都會調用printStackTrace(),而後調用log4j來輸出異常到其餘文件。說明異常的堆棧信息確實丟失了。.net

異常堆棧丟失了,而後google之,stackoverflow答案。從別人的回答中,能夠看到,這裏多是jvm優化時,產生的結果。get

當增長虛擬機參數-XX:-OmitStackTraceInFastThrow後,不見異常堆棧信息丟失。虛擬機

相關文章
相關標籤/搜索