文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

基础编程题目集-7-13 日K蜡烛图

股票价格涨跌趋势,常用蜡烛图技术中的K线图来表示,分为按日的日K线、按周的周K线、按月的月K线等。以日K线为例,每天股票价格从开盘到收盘走完一天,对应一根蜡烛小图,要表示四个价格:开...

niithub
21分钟前
0
0
Jenkins window 下的安装使用

1.下载:https://jenkins.io/download/ 双击安装完毕,将自动打开浏览器: http://localhost:8080 打开对应位置的文件,将初始密钥粘贴至输入框。 第一个是 安装默认的软件;第二个是 自定义...

狼王黄师傅
23分钟前
1
0
深入解析react关于事件绑定this的四种方式

这篇文章主要介绍了详解react关于事件绑定this的四种方式,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 在react组件中,每个方...

前端攻城小牛
31分钟前
1
0
JS正则表达式

url的正则表达式:包括IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口!用户名等等信息 `function` `IsURL(str_url) {``var` `strRegex =``"^((https|http|ftp|rtsp|mm...

前端小攻略
36分钟前
1
0
shell习题_2

find /root/ceshi1/ -type f -name "*.txt"|xargs -i mv {} {}.bak find /root/ceshi1/ -type f -name "*.txt" -exec mv {} {}.bak \; 1、批量修改文件名: n1=`echo $f|sed '#.bak##'` [ro......

芬野de博客
37分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部