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

昨天发现了 可以通过 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


转载于:https://my.oschina.net/ouminzy/blog/1510163

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值