文档章节

拷贝可用的SpringAOP切面日志

十七宝宝
 十七宝宝
发布于 2017/06/02 17:06
字数 115
阅读 5
收藏 0
/**
 * 项目中写的,感觉一般小项目直接拷贝过去就OK了,不用谢
 * @author Yang.Liu17
 * @create 2017-06-02 16:07
 **/
@Component
@Aspect
public class LoggerAspect {
    private static final Logger LOGGER = LoggerFactory.getLogger(LoggerAspect.class);

    @Pointcut("within(@org.springframework.stereotype.Controller *)")
    public void cutController() {
    }

    @Around("cutController()")
    public Object recordSysLog(ProceedingJoinPoint joinPoint) throws Throwable {

        long beginTime = System.currentTimeMillis();
        String param = JSONObject.toJSONString(joinPoint.getArgs());
        String classType = joinPoint.getTarget().getClass().getName();
        String methodName = joinPoint.getSignature().getName();
        Object returnValue = joinPoint.proceed();
        String result = JSONObject.toJSONString(returnValue);
        if (LOGGER.isInfoEnabled()) {
            LOGGER.info("Controller执行统计==:[class]:{},[method]:{},[param]:{},[result]:{},[timer]:{}", new Object[]{classType, methodName, param, result, System.currentTimeMillis() - beginTime + ""});
        }
        return returnValue;
    }


}

© 著作权归作者所有

共有 人打赏支持
十七宝宝
粉丝 0
博文 12
码字总数 6864
作品 0
杭州
程序员
spring之AOP(面向切面编程)

一、简介 何为AOP,通俗的将就是给某些方法执行之前、执行之后等动作发生的时候执行某些操作,在执行这些操作的时候可以获取执行方法的相关信息,简化程序开发中总是重复的东西,比如方法入参...

图样图森破
2016/12/26
26
0
SpringCloud拦截器使用(Interceptors拦截器使用)

SpringCloud后端要对前端请求进行拦截,也就是日志记录,使用SpringAOP方式即面向切面方式进行拦截。 首先,拦截请求地址(ip),使用HandlerInterceptorAdapter,它拦截的是请求地址,所以针...

Bug-Killer
05/10
0
0
使用Spring AOP修改请求、返回参数

AOP:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 通过使用AOP技术,我们可以在自定义的切面对切点扩展相应的操作,如打印日志,转换参数等。 生产中,...

niithub
08/09
0
0
SpringAOP实现自动生成日志

项目中总要发布一下服务供系统内外调用,为了方便排查错误,入参出参都要以日志的形式记录下来。 传统做法:缺点一目了然,参数少的时候只能说还好,参数一多,烦不胜烦,浪费时间。 privat...

奋斗的海贼
2013/01/02
0
0
Spring AOP就是这么简单啦

前言 只有光头才能变强 上一篇已经讲解了Spring IOC知识点一网打尽!,这篇主要是讲解Spring的AOP模块~ 之前我已经写过一篇关于AOP的文章了,那篇把比较重要的知识点都讲解过了一篇啦:Sprin...

Java3y
05/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

谷歌 Fuchsia 上手体验,将取代Android/win10

在手机市场领域,Google表现很抢眼,毫无疑问,Android 至今在移动操作系统的市场份额占据绝对领先地位,但是 Android 仍然存在不少问题,碎片化问题严重,在平板以及大屏幕设备上表现糟糕,...

linux-tao
1分钟前
0
0
List、Array与ArrayList

数组在内存中是连续存储的,所以它的索引速度很快,而且赋值和修改元素也非常快,比如: string[] s=new string[3];//赋值 s[0]="a"; s[1]="b"; s[2]="c";//修改 s[1]="b1"; 但是数组...

shimmerkaiye
4分钟前
0
0
Linux 的Lnmp环境下为mysql添加环境变量

一.问题 在Linux 安装完Lnmp 环境后 , 连接Mysql 告诉没有这条命令 mysql -uroot -p 命令失效 因为是源码安装的,所以会出现这样的的原因 。集成环境是不会出现的。 其实很简单,只需要给m...

15834278076
6分钟前
0
0
apolloxlua include函数

include函数不是单独使用的函数, 他并不是标准库的一部分, 你可以使用include函数将某个后缀为 .aop的文档包含到你的文档流中。 因为include是单独处理流, 所以不会在主处理流程中有所表示...

钟元OSS
9分钟前
0
0
【转载分享】做一名较真的工程师

近些年与我共事过的同事,一定知道我至今仍有一个较真的性格。我会:指出同事所写代码的不当命名问题(并帮助改进);指出同事所写文档中的逻辑混乱问题(并辅以修订);指出同事所写PPT中乱...

HellerZhang
11分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部