Java中为什么用log4j的error方法记录异常到控制台,有的时候会打印栈轨迹,有的时候就只有
Java中为什么用log4j的error方法记录异常到控制台,有的时候会打印栈轨迹,有的时候就只有异常的名字而没有栈轨迹,完全不知道异常从哪一行抛出来的啊...
Java中为什么用log4j的error方法记录异常到控制台,有的时候会打印栈轨迹,有的时候就只有异常的名字而没有栈轨迹,完全不知道异常从哪一行抛出来的啊
展开
1个回答
展开全部
是这样的,如果获取了异常,把异常作为最后一个参数打出来,那么可以打出异常的stack,否则不行。也就是说
try{
.......
}
catch(Exceptoin e){
log.error("运行异常",e); //可以获取异常的stack
log.error("运行异常"); // 只能获取运行异常几个字
log.error(e); //会调用e的toString方法,可以获取异常的Message,但没有stack
log.error(e.getMessage);//可以得到异常的message ,没有stack
}
try{
.......
}
catch(Exceptoin e){
log.error("运行异常",e); //可以获取异常的stack
log.error("运行异常"); // 只能获取运行异常几个字
log.error(e); //会调用e的toString方法,可以获取异常的Message,但没有stack
log.error(e.getMessage);//可以得到异常的message ,没有stack
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询