@Slf4j
@Aspect
@Component
public class ControllerLog {
private final ThreadLocal<Long> startTimeThreadLocal =
new NamedThreadLocal<>("ThreadLocal StartTime");
private final ThreadLocal<String> logPrefixThreadLocal =
new NamedThreadLocal<>("ThreadLocal LogPrefix");
@Autowired
private ObjectMapper objectMapper;
/**
* <li>Before : 在方法执行前进行切面</li>
* <li>execution : 定义切面表达式</li>
* <p>public * com.test.controller..*.*(..)
* <li>public :匹配所有目标类的public方法,不写则匹配所有访问权限</li>
* <li>第一个* :方法返回值类型,*代表所有类型 </li>
* <li>第二个* :包路径的通配符</li>
* <li>第三个..* :表示controller这个目录下所有的类,包括子目录的类</li>
* <li>第四个*(..) : *表示所有任意方法名,..表示任意参数</li>
* </p>
*/
@Pointcut("execution(public * com.test.controller..*.*(..))")
public void executionMethod() {
//
相关推荐
基于aop切面实现统一日志打印
基于aop切面实现统一日志打印
springboot 通过aop打印入参出参
转载
AOP的应用(日志打印)
AOP的应用(日志打印)
SpringBoot自定义注解,AOP 切面统一打印出入参请求日志
①:什么时候使用该注解,我们定义为运行时;②:注解用于什么地方,我们定义为作用于方法上;③:注解是否将包含在 JavaDoc 中;④:注解名为WebLog;⑤:定义一个属性,默认为空字符串;源代码如下:到这里,一个完整的自定义注解就定义完成了。
SpringBoot利用Aop打印入参出参日志
SpringBoot利用Aop打印入参出参日志 前言 以前写代码不会用Aop的时候,记录入参出参的日志打印都是在Controller中完成的,每个Controller的方法开始之前先打印个日志,然后方法返回之前再打印一行日志,虽然以前也感觉到这个代码比较冗余,也知道Aop可以实现日志打印,但是思维固话了,也习惯了,也就得过且过了。 直到接到上任同事留下的项目,日志没有对入参出参做统一的打印,线上出...
SpringBoot 配置 AOP 打印日志
在项目开发中,日志系统是必不可少的,用AOP在Web的请求做入参和出参的参数打印,同时对异常进行日志打印,避免重复的手写日志,完整案例见文末源码。 一、Spring AOP AOP(Aspect-Oriented Programming,面向切面编程),它利用一种"横切"的技术,将那些多个类的共同行为封装到一个可重用的模块。便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来...
自定义注解+aop完成controller打印入参和出参日志
自定义注解+aop完成controller打印入参和出参日志写在前面开始上代码 写在前面 相信大家在开发的时候面对controller层有打印日志的习惯,controller层无需过多代码,基本上包括入参日志打印,调用service层方法,打印返回值结果,便于后期定位问题,再有就是对controller进行try catch处理,而我作为一名很懒的开发者,基本上就是看着别人的代码复制粘贴一遍,入参...
springboot-自定义注解实现入参出参打印日志
springboot-自定义注解实现入参出参打印第1步,新建springboot项目第2步,自定义注解第3步,为注解配置切面第4步,将自定义注解@WebLog加到方法上最后,看打印效果 第1步,新建springboot项目 项目中必须有web依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-
@aspect注解_如何优雅地在 Spring Boot 中使用自定义注解,AOP 切面统一打印出入参日志
今天主要说说如何通过自定义注解的方式,在 Spring Boot 中来实现 AOP 切面统一打印出入参日志。小伙伴们可以收藏一波。 废话不多说,进入正题 ! 目录一、先看看切面日志输出效果二、添加 AOP Maven 依赖三、自定义日志注解四、配置 AOP 切面五、怎么使用呢?六、对于文件上传好使不?七、只想在开发环境和测试环境中使用?八、多切面如何指定优先级? 一、先看看切面日志输出效果 在看看...
springboot切面返回值_SpringBoot整合AOP切面统一打印出入参请求日志
前言温馨提醒:阅读本文需要5分钟切面介绍面向切面编程是一种编程范式,它作为 OOP 面向对象编程的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、权限控制、缓存控制、日志打印等等。AOP 把软件的功能模块分为两个部分:核心关注点和横切关注点。业务处理的主要功能为核心关注点,而非核心、需要拓展的功能为横切关注点。AOP 的作用在于分离系统中的各种关注点,将核心关注点和横切关注点进行...
antd中分页器如何自定义_如何优雅地在 Spring Boot 中使用自定义注解,AOP 切面统一打印出入参日志...
今天主要说说如何通过自定义注解的方式,在 Spring Boot 中来实现 AOP 切面统一打印出入参日志。小伙伴们可以收藏一波。 废话不多说,进入正题 ! 目录一、先看看切面日志输出效果二、添加 AOP Maven 依赖三、自定义日志注解四、配置 AOP 切面五、怎么使用呢?六、对于文件上传好使不?七、只想在开发环境和测试环境中使用?八、多切面如何指定优先级? 一、先看看切面日志输出效果 在看看...
[工具类]AOP打印入参出参和响应时间
AOP around打印入参出参和响应时间 用一个around代替before和after去打印入参出参,并且记录响应时间.
slf4j注解log报错_又被逼着优化代码,这次我干掉了出入参 Log日志
最近技术部突然刮起一阵 review 代码的小风,挨个项目组过代码,按理说这应该是件挺好的事,让别人指出自己代码中的不足,查缺补漏,对提升自身编码能力有很大帮助,毕竟自己审查很容易“陶醉”在自己写的代码里。不过,代码 review 的详细程度令人发指,一行一行的分析,简直就是个培训班啊。不夸张的说,如果我村里仅有县重点小学学历的四大爷,来听上一个月后,保证能上手开发,666~既然组内气氛到这了,咱...
Spring Boot 学习记录笔记【 三 】
Spring Boot 学习记录笔记【 三 】
自定义注解实现日志打印
通常为了监控系统,我们希望将请求的入参和出参记录到数据库中,已备后查。除了在每个方法里面加日志处理代码,手动保存到数据库,还有其他的办法吗? 今天就给大伙介绍一个注解@Log2DB 什么?没这个注解?是的,这个注解是自定义的,那用这个注解能干什么呢?怎么写一个自己的注解呢?今天我们一起来探讨下。 首先,我们随便找个注解,看下它的结构@RestController @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME)..
springBoot aop拦截Controller参数获取
拦截Controller参数1 定义切点,创建自定义注解2 定义切面,解析自定义注解3 添加依赖 在进行后端测试的时候,一般情况需要知道后端实际接收到的参数的详细信息,为了避免手动创建log对象进行日志记录的打印,所以将 请求参数及响应内容日志打印交给切面来进行管理 通过自定义注解的方式,来实现 controller的入参、出参等的信息的日志打印 1 定义切点,创建自定义注解 import java.lang.annotation.*; //注解不仅被保存到class文件中,jvm加载class文件之
springBoot 使用 AOP 拦截请求日志信息
springBoot 使用 AOP 拦截请求日志信息
AOP实现日志入参出参打印
描述 减少代码中接口的入参出参打印,减少工作量,保持打印风格一致性。 效果展示 [2020-07-23 14:50:09 INFO http-nio-9001-exec-2] t.g.gmayaserviceadminimpl.system.aspect.LogAspect - top.gmaya.gmayaserviceadminimpl.system.controller.UserController.add()【新增登录信息】:=================== [2020-07-23 14:5

397




被折叠的 条评论
为什么被折叠?



