博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot用SpringAOP实现页面访问日志功能
阅读量:4879 次
发布时间:2019-06-11

本文共 1394 字,大约阅读时间需要 4 分钟。

每一个页面写请求日志太麻烦了,用AOP很方便的实现日志记录功能

 
@Aspect@Componentpublic class LogAspect {    private final static Logger LOGGER = LoggerFactory.getLogger(LogAspect.class);    @Pointcut("execution(public * com.bao.cms.controller..*.*(..))")    public void controllerMethod() {    }    @Before("controllerMethod()")    public void LogRequestInfo(JoinPoint joinPoint) throws Exception {        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();        HttpServletRequest request = attributes.getRequest();        StringBuffer requestLog = new StringBuffer();        requestLog.append("request:")                .append("URL = {" + request.getRequestURI() + "},\t")                .append("HTTP_METHOD = {" + request.getMethod() + "},\t")                .append("IP = {" + request.getRemoteAddr() + "},\t")                .append("CLASS_METHOD = {" + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName() + "},\t");        if(joinPoint.getArgs().length == 0) {            requestLog.append("ARGS = {} ");        } else {            requestLog.append("ARGS = " + new ObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL)                    .writeValueAsString(joinPoint.getArgs()[0]) + "");        }        LOGGER.info(requestLog.toString());    }}

 

 

 

 

参考

转载于:https://www.cnblogs.com/Guroer/p/11184849.html

你可能感兴趣的文章
2017.11.18 手把手教你学51单片机-点亮LED
查看>>
xml的创建与解析
查看>>
grep不区分大小写查找字符串方法
查看>>
全双工和半双工
查看>>
2.1什么是软件需求,什么是功能需求
查看>>
linux系统灵活运用灯[android课程3]
查看>>
Android 通用Dialog中设置RecyclerView
查看>>
利用 Android Studio 和 Gradle 打包多版本APK
查看>>
Android 自定义标题栏
查看>>
Android 如何把一个 RelativeLayout或ImageView背景设为透明
查看>>
HTTP协议详解(真的很经典)
查看>>
hdu2089 不要62 (数位dp)
查看>>
tomcat优化方向
查看>>
fmt.Sprintf strconv.Itoa 效率实验
查看>>
http
查看>>
iOS开发-正则表达式的使用方法
查看>>
C++之运算符重载(1)
查看>>
8-1-组队赛
查看>>
codility: CountTriangles
查看>>
赛斯说
查看>>