开发者社区> 问答> 正文

[@倚贤][¥20]Springboot 记录请求日志,内容有请求参数,返回值,ip这一类的,使用filter,拦截器,aop这三种方式哪个好点

已解决

最近项目要求记录访问日志,包含一些请求内容,header,request,response,这一类的信息,目前使用了个filter实现了,但是发现网上好多用拦截器,知道很多日志都是用aop记录的,所以想知道用哪种方式进行记录是好的方案

展开
收起
iolo 2018-11-13 09:41:52 5826 0
3 条回答
写回答
取消 提交回答
  • 全栈工程师,从事了 12 年以 Java 语⾔为主的软件开发工作,热衷于整合框架与开发工具,关注 交互设计,喜欢写技术博客(http://codelife.me/),Linux拥趸,问题终结者。近期开始学习和关注 Elixir 函数语言,合作翻译了《Elixir 程序设计》。
    采纳回答
    1. 如果你不需要知道具体哪个 method 被 invoke 了,使用 filter 就够了,否则用 Interceptor
    2. 除了 controller 以外,service 你也想记录日志,那用 AOP 把,AOP 更复杂些,掌握了更通用。但是如果你想要记录 request 和 response,使用AOP 的话,需要在 controller 方法前面上 request 和 response 才能获得到,那对于一些不需要使用 request 和 response 的方法,加上两个不直接被使用的参数会觉得很奇怪,不小心被其它队友删除了,就悲剧了。
    2019-07-17 23:13:47
    赞同 1 展开评论 打赏
  • java 数据分析 数据可视化 大数据

    aop

    2019-07-17 23:13:46
    赞同 1 展开评论 打赏
  • 我也有同样的问题

    2019-07-17 23:13:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载