java 切面日志打印出参入参

news2024/9/23 9:29:15

切面Controller出入参日志打印

项目结构

切面日志对controller下所有的方法生效
在这里插入图片描述

切面代码

@Slf4j
@Aspect
@Component
public class ControllerLogAspect {

    // 定义一个切点,拦截所有Controller层的public方法
    @Before("execution(public * com.jzt.market.controller..*.*(..))")
    public void logBefore(JoinPoint joinPoint) throws NoSuchMethodException {
        // 获取方法名
        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
        String methodName = signature.getName();
        Object target = joinPoint.getTarget();
        Method method = target.getClass().getMethod(signature.getName(), signature.getParameterTypes());
        Operation annotation = method.getAnnotation(Operation.class);
        String summary = annotation.summary();
        // 获取入参
        Object[] args = joinPoint.getArgs();
        log.info("进入[{}]方法:=>{},入参:{}", summary, methodName,args);
    }

    @AfterReturning(pointcut = "execution(public * jx.mim.market.controller..*.*(..))", returning = "result")
    public void logAfterReturning(JoinPoint joinPoint, Object result) {
        // 获取方法名
        String methodName = joinPoint.getSignature().getName();
        log.info("结束方法:{},出参:{}", methodName, JsonUtils.toJsonPrettyString(result));
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2085900.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android解析异步消息处理机制

文章目录 Android解析异步消息处理机制MessageHandlerMessageQueueLooper Android解析异步消息处理机制 Android中的异步消息处理主要由4个部分组成:Message、Handler、MessageQueue和Looper。其中Message和Handler在上一小节中我们已经接触过了,而Mess…

大数据基础:离线与实时数仓区别和建设思路

文章目录 离线与实时数仓区别和建设思路 一、离线数仓与实时数仓区别 ​​​​​​​二、实时数仓建设思路 离线与实时数仓区别和建设思路 ​​​​​​​一、离线数仓与实时数仓区别 离线数据与实时数仓区别如下: 对比方面 离线数仓 实时数仓 架构选择 传…

ComsolMatlab 两级串联扩张式消声器仿真解与解析解

消声器的声学性能通常要求消声器在工作频率范围内有较大的消声量以及较宽的消声频带。常用的消声器声学性能评价指标通常有传递损失、插入损失、减噪量三种。其中插入损失只能反映整个系统在安装消声器前后声学特性的变化,并不能直接反映消声器本身单独具有的属性。…

计算机毕业设计选题推荐-中药材进存销管理系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

假期学习--对象底层结构和继承链

OC本质底层实现转化其实都是C/C代码。 OC对象的本质就是结构体。 NSObject底层是struct objc_object结构体 ;struct objc_class : objc_object { …省略无关代码 // Class ISA; //ISA(从objc_object继承过来的) Class superclass; //指向其父类 cache_t cache…

王伊朵闪耀“快乐阳光”舞台 再夺全国冠军

在近日落幕的“赛克杯”第20届快乐阳光少年儿童歌曲卡拉OK电视大赛全国总决赛中,就读于北京市建华实验学校,年仅11岁的小选手王伊朵以其出色的唱功和卓越的舞台表现,一举夺得全国冠军,成为本次大赛一颗耀眼的小明星。 王伊朵自小对…

基于NNG的六种通信模式

NNG是一个消息传递框架,用来解决常见的消息传递问题。NNG是nanomsg的继任版本,纯c语言开发,工作模式分为一下几种: Pipeline单向管道 此模式可用于解决生产者/消费者问题,包括负载均衡。 消息从推侧流向拉侧。 如果多…

‌U盘闪一下就没了?‌如何有效恢复数据

在日常使用U盘的过程中,‌我们可能会遇到一种突发情况:‌U盘插入电脑后仅仅闪了一下就消失了,‌无法再被识别或访问。‌这种情况下,‌U盘中的数据似乎瞬间变得遥不可及。‌然而,‌不必过于担心,‌因为仍然有…

Kafka消息积压的典型场景及解决方案

Kafka消息积压的典型场景: 1.实时/消费任务挂掉 比如,我们写的实时应用因为某种原因挂掉了,并且这个任务没有被监控程序监控发现通知相关负责人,负责人又没有写自动拉起任务的脚本进行重启。 那么在我们重新启动这个实时应用进行…

【Docker】构建Harbor仓库

下载软件包地址:https://github.com/goharbor/harbor/releases Harbor 是由vmware公司开源的企业级 Docker Registry 项目。 它提供了以下主要功能和特点: 1. 基于角色的访问控制(RBAC):可以为不同的用户和用户组分…

告别繁琐!Xinstall地推码,让App安装统计变得更简单!

Xinstall地推码:开启App推广新篇章 在移动互联网时代,App推广的重要性不言而喻。然而,传统的推广方式往往伴随着繁琐的操作和难以精准统计的数据,让推广者头疼不已。幸运的是,Xinstall作为国内专业的App全渠道统计服务…

EmguCV学习笔记 VB.Net 6.6 图像的矩

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

【保姆级WebStorm安装!!!】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

记录|Form1中嵌套Form2时的频闪问题解决[不同于常见的三部曲]

目录 前言一、常见的解决方案二、自己创建渐变色组件GradientPanel三、最终效果展示更新时间 前言 参考文章: C#画图解决闪烁问题 [解决winform中重绘时控件闪烁的问题](panel1.GetType().GetProperty(“DoubleBuffered”,System.Reflection.BindingFlags.Instance …

试卷擦除,这几款软件擦得干干净净!

在现代教育中,电子化试卷已经成为一种趋势,然而随之而来的问题是如何有效地擦除试卷上的答案,以便进行反复使用试卷。为了解决这个问题,我们介绍了三款试卷答案清除方法,这些方法不仅简单易用,而且效果显著…

运维团队如何高效使用监控易

监控易作为一款功能强大的运维监控工具,能够为运维团队提供全面、实时的设备运行状态和性能指标。为了高效使用监控易,运维团队应遵循以下步骤和策略: 一、熟悉监控易界面与功能 深入了解监控易的仪表盘界面,包括设备运行状态、…

APP自动化测试思路整理,跟着步骤快速撸码...

前言 1、开发语言选择 通常用于自动化测试的编程语言有:Python、Java、Javascript、Ruby、C#、PHP等。 一般我们会选择自己熟悉的编程语言来编写自动化脚本,但对于编程基础基本为0的童鞋(或者专注于做自动化测试的童鞋)&#x…

ICT测试探针市场报告:前五大厂商占有大约26.0%的市场份额

ICT测试探针,即在线测试(ICT)探针,是专门用于电路板(特别是PCBA)电气测试的重要工具,通过这些探针接触PCB上的测试点,来检测电路板上元器件的连通性和电气性能,从而保证电…

视频超分辨率重建——AnimeSR网络测试教程(详细图文教程)

💪 专业从事且热爱图像处理,图像处理专栏更新如下👇: 📝《图像去噪》 📝《超分辨率重建》 📝《语义分割》 📝《风格迁移》 📝《目标检测》 📝《暗光增强》 &a…

2021CCPC网络赛:G - Function HDU - 7106

题意 定义g(x)为x的各数位之和 求该方程: 在给定x范围内的最小值 思路: 一个x对应一个g(x),一个g(x)对应多个x 由于g(x)最多取到54,所以可以枚举所有的g(x)所以想到当取到g(x)的时候,只取能使原方程f(x)最小的那几个x 当枚举g(x)的时候,g(x)看作一个常数,此时方程…