日志丢失堆栈
你觉得这样打日志没问题,但是堆栈信息却丢了~
原因是JDK5的一个优化,打一个地方报出的异常一定次数以后就会把对账给省略了~
用如下代码可以做测试,这个时候, 你只要找到最开始的日志,那里是全的~之后改什么启动参数,把优化关了~不归你管~
public class LostException4 {
private static Logger logger = LoggerFactory.getLogger(LostException4.class);
public static void main(String[] args) {
String s = null;
int i = 0;
while(true){
try{
int[] a = null;
a[2] = 1;
}catch(Exception e){
i++;
s =ExceptionUtils.getFullStackTrace(e);
logger.error("msg:",e);
if(e.getStackTrace().length==0){
break;
}
}
}
System.out.println(i);
System.out.println(s);
}
}