java错误日志打印问题
2022-01-29 15:13:06
262次阅读
0个评论
前言:说来惭愧,做了5,6的java开发,今天才发现之前的打印方式是错误的,生产环境出了问题,但是没法定位,后来发现输出方式有问题,为此记录一下;
已下面方法作为测试
import org.slf4j.Logger;
import org.slf4j.LoggerFactory
private Logger logger = LoggerFactory.getLogger(AccountController.class);
@RequestMapping(value="/testException")
public void testException() {
try {
int result = 1 / 0;
} catch (Exception e) {
e.printStackTrace(); // 0000
logger.error("--------testException.errorInfo>:", e);// 1111
logger.error("--------testException.errorInfo>:{}", e.getMessage()); // 2222
logger.error("--------testException.errorInfo>:"+ e); // 3333
}
}
0000: 在控制台打印堆栈异常信息,一般在开发调试的时候使用1111:打印详细的错误信息,可打印某个类,某个方法,某行以及错误消息
2222:只打印错误信息,不定位到某一行
3333:错误的写法,不会打印,用逗号“,”分割
**正确的是 logger.error("--------testException.errorInfo>:", e);// 1111**
0
0