文档章节

拷贝可用的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

没有更多内容

加载失败,请刷新页面

加载更多

kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
6
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
2
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
14
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
5
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部