spring boot 全局统一日志打印

欢迎关注本人公众号

在这里插入图片描述

概述

本文以使用spring boot或者springmvc为例。
微服务之间调用,或者controller接收请求时,为了方便排查问题,通常会将入参与出参(返回值)打印出来。

为了简化代码,这里使用AOP统一处理日志的打印。

由于比较简单,废话不多说,直接上代码:

@Aspect
@Component
@Slf4j
public class LogAspect  {
    @Pointcut("execution(public * com.example.controller..*.*(..))")
    public void webLog() {
    }

    @Around("webLog()")
    public Object around(ProceedingJoinPoint joinPoint)throws Throwable{
        Object proceed = joinPoint.proceed();
        log.info("METHOD : {} ; REQUEST:{} ; RESPONSE : {}",
                joinPoint.getSignature().toShortString(),
                JSONObject.toJSONString(joinPoint.getArgs()),
                JSONObject.toJSONString(proceed));
        return proceed;
    }
}

我们访问controller方法时,会打印入参出参:

METHOD : ValidateController.test1(..) ; REQUEST:[{"age":0,"balance":1.34,"fatherVO":{"name":"zd","work":"dxx"},"fatherVOs1":[[{"work":"dxx"}]],"fatherVOs2":[{"name":"zd","work":"dxx"}],"name":"12d"}] ; RESPONSE : "12d"
METHOD : ValidateController.test2(..) ; REQUEST:[{"a":false,"name":"a","work":"s"}] ; RESPONSE : "a"

酱紫就可以愉快的查看日志,排查问题了。

展开阅读全文
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值