1. Increase dependency
<dependency> <groupId>org.springframework.boot</groupId> <artifactId> Spring-boot-starter-aop</artifactid> </dependency>
2. Writing Slice Classes
@Aspect @component Public class Weblogaspect {}
The annotation @Aspect indicates that this is a slice class
3. Defining pointcuts
@Pointcut ("Execution (* com.example.manage.controller.*.* (..))" ) publicvoid pointlog () {}
Indicates that the pointcut is all methods of all classes under the Com.example.manage.controller path
4. Defining what to cut into
@Before ("Pointlog ()") Public voidDobefore (Joinpoint joinpoint) {//receive request, log request contentServletrequestattributes attributes =(servletrequestattributes) requestcontextholder.getrequestattributes (); HttpServletRequest Request=attributes.getrequest (); Logger.info ("URL:" +Request.getrequesturl (). toString ()); Logger.info ("Http_method:" +Request.getmethod ()); Logger.info ("IP:" +request.getremoteaddr ()); Logger.info ("Class_method:" + joinpoint.getsignature (). Getdeclaringtypename () + "." +joinpoint.getsignature (). GetName ()); Logger.info ("ARGS:" +arrays.tostring (Joinpoint.getargs ())); }
Print request information before executing method
@AfterReturning (returning = "res", Pointcut = "Pointlog ()") publicvoidthrows throwable { // finished processing the request, return content logger.info ("RESPONSE:" + res.tostring ()); c11/>}
After execution, print the returned content
Complete!
=====================================================================
Springboot Aop Unified Processing Web request log