还有注意点:
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);//一次个参数 用户自定义,第二个打印用户堆栈 } } }