还有注意点:
log.error(e); 有时候会只打印message信息,而不会把堆栈信息打印出来!
log.error("Exception", e); 这样肯定可以打印堆栈信息!
package com.mycompany.app;
import org.apache.log4j.Logger;
public class TestException {
private static final Logger log = Logger.getLogger(TestException.class);
public static void main(String[] args) {
try {
System.out.println(1 / 0);
} catch (Exception e) {
System.out.println("e.toString()::" + e.toString());//e.toString(): 获得异常种类和错误信息
System.out.println("--------------------");
System.out.println("e.getMessage()::" + e.getMessage());//e.getMessage():获得错误信息
System.out.println("--------------------");
log.error("Exception", e);//一次个参数 用户自定义,第二个打印用户堆栈
}
}
}