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 ,可以去掉该特性


资料:

https://blog.csdn.net/jiangguilong2000/article/details/47087487

https://blog.csdn.net/zzg1229059735/article/details/72567644

http://lijuanabc.iteye.com/blog/1576095

https://stackoverflow.com/questions/2411487/nullpointerexception-in-java-with-no-stacktrace

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值