log4j实现自动打印所有异常信息

因为最近工作中经常用到log4j2查看日志,所以昨天把log4j2的内容又好好看了一下。log4j2记录日志信息只要log.info()将需要的信息记录就好了,用起来非常方便。但考虑到只要程序中有异常,就要将异常记录,所以我们无法手动的将所有异常信息通过log.info()记录(除非每步操作都要捕获异常,并将异常记录),所以这是个问题,在网上找了一下,大多数都答非所问,不过最终找到答案,就是通过Spring AOP的方式实现,我们知道AOP的切面类,有这几种方法:doAfter,doAround,doBefore,doThrowing,看到了吧,重点在doThrowing方法中,只要在doThrowing将异常捕获打印,并将切面的作用域加入到我们想要处理的包或类中,问题就解决了,当然doThrowing只处理作用域未处理的异常,作用域处理的异常还需要你手动添加log.info打印。这里推荐log4j2和Spring AOP的两个简单使用介绍:

1:http://5148737.blog.51cto.com/5138737/1398581/

2:http://blog.csdn.net/wangpeng047/article/details/8560694

结合两个,就可解决问题。

你可能感兴趣的:(web开发)