您的位置:首页 > 移动开发

使用spring ApplicationListener 容器监听器来记录请求信息

2017-08-15 00:00 246 查看
昨天发现了 可以通过 spring 的 容器 监听器,来 获取请求的信息,可以通过这个讲请求的信息使用日志来保存下来。
一般我们记录请求信息,可以用 aop , springmvc 拦截器,过滤器等其他相关的。。。
现在也可以使用 监听器的 方式来记录了。

package com.stylefeng.guns.core.listener;

import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import org.springframework.web.context.support.ServletRequestHandledEvent;

/**
* 监听 spring MVC 请求
* @author oumin
*
*/
@Component
public class ServletRequestHandledEventListener implements ApplicationListener<ServletRequestHandledEvent>{

@Override
public void onApplicationEvent(ServletRequestHandledEvent event) {
// TODO Auto-generated method stub
System.out.println("请求相关信息==="+event.getDescription());
System.out.println("访问路径==="+event.getRequestUrl());
System.out.println("请求系统响应花费时间==="+event.getProcessingTimeMillis());
System.out.println("请求发生时间==="+event.getTimestamp());
System.out.println("请求失败原因异常==="+event.getFailureCause());
System.out.println("请求响应HTTP状态值==="+event.getStatusCode());
}

}

结果例子:
请求相关信息===url=[/test/say]; client=[0:0:0:0:0:0:0:1]; method=[GET]; servlet=[dispatcherServlet]; session=[0864031f-afe5-4bba-a246-dee01a180082]; user=[null]; time=[103ms]; status=[OK]
访问路径===/test/say
请求系统响应花费时间===103
请求发生时间===1502756571238
请求失败原因异常===null
请求响应HTTP状态值===200
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐