spring aop 可以在不破坏我们程序代码的前提下很好的对程序异常进行打印,网上也有很多这样的例子,我这里写的比较简单,只是针对程序出异常时进行见到的日志打印,代码比较简单。

异常日志处理类

package com.apt.study.exception;import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;import com.alibaba.fastjson.JSONObject;@Component
@Aspect
public class ExceptionToJson {public Logger logger = LoggerFactory.getLogger(ExceptionToJson.class);@Pointcut("execution(* com.apt.study.service..*.*(..))")public void exceptionLog() {}@AfterThrowing(pointcut = "exceptionLog()", throwing="e")  public  void doAfterThrowing(JoinPoint joinPoint, Throwable e) { try {logger.error("------->Error Class:" + e.getClass().getName());  logger.error("------->Error msg:" + e.getMessage());  logger.error("------->Error method:" + (joinPoint.getTarget().getClass().getName() + "." + joinPoint.getSignature().getName() + "()"));  Object[] arguments = joinPoint.getArgs(); if (arguments !=  null && arguments.length > 0) {  for ( int i = 0; i < arguments.length; i++) {  logger.error("------->args[" + i + "]: " + JSONObject.toJSONString(arguments[i])); } }}  catch (Exception ex) {  //记录本地异常日志  logger.error("------->异常通知异常");  logger.error("------->异常信息:{}", ex.getMessage());  }}
}

转载于:https://www.cnblogs.com/sjcq/p/7452947.html

日志异常处理-spring aop注解相关推荐

  1. spring aop 注解

    spring Aop 注解 Aop 术语 AOP 的特性术语,不同的翻译还会不一样,得在过程中理解 横切关注点:跨越程序多个模块的方法或功能.即与业务逻辑无关,但我们也要关注的部分,就是横切关注点.如 ...

  2. Spring AOP注解方式实现

    简介 上文已经提到了Spring AOP的概念以及简单的静态代理.动态代理简单示例,链接地址:https://www.cnblogs.com/chenzhaoren/p/9959596.html 本文 ...

  3. Spring AOP注解为什么失效?90%Java程序员不知道

    转载自 Spring AOP注解为什么失效?90%Java程序员不知道 使用Spring Aop注解的时候,如@Transactional, @Cacheable等注解一般需要在类方法第一个入口的地方 ...

  4. java spring aop 注解包_Spring AOP 注解配置实例

    Spring AOP注解例子 一:导入相关jar包. 首先导入Spring的相关包(这里就不多说了,我这里是3.2.4版本的) 然后导入AOP注解的相关包(不是spring的包)aspectjrt-1 ...

  5. spring AOP注解失效原因

    目录 @Transactional @Async等注解不起作用 JDK动态代理 Spring AOP注解失效原因及解决 原因1:同一个类中,方法A调用方法B(方法B上加有注解),注解无效 原因2:AO ...

  6. spring AOP注解实现

    一.什么是AOP 引用一下维基百科的定义 面向切面的程序设计(Aspect-oriented programming,AOP,又译作面向方面的程序设计.剖面导向程序设计)是计算机科学中的一种程序设计思 ...

  7. spring注解:spring aop注解详解

    一. AOP的基本概念 Aspect(切面):通常是一个类,里面可以定义切入点和通知 Pointcut(切点):就是带有通知的连接点,在程序中主要体现为书写切入点表达式 JointPoint(连接点) ...

  8. spring AOP注解含义

    spring AOP 的几个注解含义 @Aspect                                                              指定一个类为切面类 @P ...

  9. Spring AOP注解

    1.配置 <!-- 配置spring创建容器时要扫描的包--><context:component-scan base-package="com">< ...

  10. 初学spring aop 注解遇到的问题

    初学spring,对spring注解这块了解不是很多,现在注解替代了xml配置文件,原来的bean id 去哪里了呢? //@Service//默认类名 @Service("rmb" ...

最新文章

  1. 在CentOS 6.9上从源码安装Go 1.10
  2. 总结—elasticsearch启动失败的几种情况及解决
  3. python生成器应用中的一个要点
  4. 深入理解angularjs $watch ,$apply 和 $digest --- 理解数据绑定过程
  5. google gperf tool【cpu】
  6. ftp上传文件出现“sftp: cannot open /usr/SmartStore_test/1.zip to write”
  7. oracle 字段除以1000,ORACLE常用}1000(之一)_oracle
  8. 用三元操作符替代if-else以降低CPU分支预测惩罚实现Unity内函数13倍提速
  9. it行业中sa与ba的区别_在钢铁行业中除尘器有什么区别?
  10. java小程序详解_微信小程序登录Java后台接口(详解,附示例代码)
  11. hiho一下 第六十四周 Right-click Context Menu
  12. lambda表达式和切片
  13. 通达OA二次开发 小飞鱼工作流开发快捷CRM解决方案
  14. linux耳机的检测原理,耳机检测原理介绍
  15. bzoj 3237: [Ahoi2013]连通图 并查集+线段树分治
  16. 2022-9-28 c高级的复习
  17. R3Det: Refined Single-Stage Detector with Feature Refinementfor Rotating Object论文学习
  18. windows远程命令执行
  19. Apache漏洞汇总:
  20. js如何让段落首行缩进2个字符

热门文章

  1. eclipse注释中,文字大小不等的解决办法
  2. Win10修改注册表,提示无法创建密钥
  3. LINUX报错:apt transaction returned result exit-failed
  4. cudaMemcpy的性能问题
  5. 公里与英里的换算c语言函数_这些天然气单位换算你知道吗?
  6. 网络请求返回数据格式_原生 Ajax 详解 - 响应数据格式
  7. window oracle 命令,windows下Oracle命令
  8. C# 16进制转10进制 16进制字符串转换
  9. cocos判断鼠标点击_面试官:你可以用纯 CSS 判断鼠标进入的方向吗?
  10. html判断图片资源是否存在,javascript怎么判断图片是否存在?