错误信息输出方式:
一:JDK方式控制台输出
try{
可能出错的代码
}catch(Exception e){
e.printStackTrace(); 在控制台打印出异常种类,错误信息和出错位置等
}
二:Log4j日志输出:
导入org.apache.log4j.Logger;及相关包
方法1:在需要使用log4j的地方获取Log实例(写的地方多)
privatestatic Logger log = Logger.getLogger("MyCLASS.class");
|
使用Logger对象的debug,info,fatal...方法
try{
可能出错的代码
}catch(Exception e){
log.XXX(Object obj, e);
}
方法2:使用Spring的AOP方式(不用在要输出异常信息的地方写代码)
1)、定义一个作为切面的类:
@ Aspect --------------红色部分为AOP的注解形式
public class ExceptionLogger{
Logger log = Logger.getLogger(ExceptionLogger.class);
@ Pointcut("within(com.company..*)")
public void servicePointcut(){}
@ Around("servicePontcut()")
public void loggerException(Exception e){
log.error(e); //将e异常信息写入日志文件
}
}
2)、配置文件中aop配置:
<bean id="exceptionLogger" class="ExceptionLogger"/>---注册
<aop:config>
<aop:pointcut id="servicepointcut" expression="execution(* com.company.*.*(..))"/>---切入点定义
<aop:aspect id="loggeraspect" ref="exceptionLogger">---切面定义
<aop:after-throwing throwing="e" method="loggerException" pointcut-ref="servicepointcut"/>---通知定义
</aop:aspect>
<aop:config/>
<context:component-scan base-package=" com" />
<aop:aspectj-autoproxy/>