Java中为什么用log4j的error方法记录异常到控制台,有的时候会打印栈轨迹,有的时候就只有

2024-11-27 01:27:28
推荐回答(1个)
回答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
}