前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于注解的日志实现

基于注解的日志实现

作者头像
用户5166556
发布2019-04-16 14:08:40
7250
发布2019-04-16 14:08:40
举报
文章被收录于专栏:让技术和时代并行

aop-log


随着公司业务逻辑逐渐复杂,越来越多的项目采用了前后端分离进行开发,提高了开发效率,但是无形中增加了沟通和调试成本。故开发人员在代码中采用了打印前端或者终端传递过来参数信息,这样当出现问题时能够排查和说明问题出在何处。aop-log就是出于这样一种使用场景而出现。总共两种注解形式,一种是:注解加在Controller上时,能够把所有的请求参数和返回参数日志以json的格式输出。二是:把注解添加在方法上时,那么只输出这个函数的输入参数和返回值。

使用说明

方法注解使用方式:

在controller上添加 @EnableMethodLog,在具体方法添加 @LogMethod 例如:

代码语言:javascript
复制
/**
 * Created by clq on 2017/8/23.
 */
@Controller
@RequestMapping("/admin/public")
@EnableMethodLog
public class TestController {
    @Autowired
    private TestDaoInteface testDaoInteface;

    @RequestMapping(value = "/test", method = RequestMethod.GET)
    @ResponseBody
    @LogMethod
    public Object test(SysUser string){
        Object select = testDaoInteface.select();
       // throw new IllegalArgumentException("参数非法 ");
        return select;
    }
日志信息:
15:57:12.483 [2025955363@qtp-98801744-0] INFO  com.log.aop.MethodAspect - {"method":"test","params":[{"account":"43523werwre","id":234}],"retValue":{"account":"admin","id":1},"time":3980}
controller注解使用方式

在controller上添加 @EnableControllerLog

代码语言:javascript
复制
@Controller
@RequestMapping("/admin/public")
@EnableControllerLog
public class TestController {......

日志信息:
20:19:30.345 [1890318768@qtp-369351727-0] INFO  com.log.aop.ControllerAspect - {"logTag":true,"method":"test","params":[{"account":"43523werwre","id":234}],"retValue":{"account":"admin","id":1},"time":5484,"url":"/clq-web-mvc/admin/public/test"}
具体使用实例

https://github.com/strictnerd/web-mvc

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年01月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • aop-log
    • 使用说明
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档