最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
使用spring拦截器实现日志管理实例
时间:2017-06-08 编辑:简简单单 来源:一聚教程网
使用HandlerInterceptor拦截器,可以拦截请求,实现通用的日志管理操作
一、添加拦截器类
在"src/main/java"代码文件夹的"org.xs.demo1"的包下新建"LogInterceptor.java"类:
代码如下 | 复制代码 |
packageorg.xs.demo1;
importjava.text.SimpleDateFormat;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.slf4j.Logger;
importorg.slf4j.LoggerFactory;
importorg.springframework.core.NamedThreadLocal;
importorg.springframework.web.servlet.HandlerInterceptor;
importorg.springframework.web.servlet.ModelAndView;
/**
* 日志拦截器
* @author ThinkGem
*/
publicclassLogInterceptorimplementsHandlerInterceptor { privatefinalLogger log = LoggerFactory.getLogger(getClass().getName());
privatestaticfinalThreadLocal /**
* 预处理
*/
@Override
publicbooleanpreHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throwsException {
longbeginTime = System.currentTimeMillis();//开始时间
startTimeThreadLocal.set(beginTime);//线程绑定变量(该数据只有当前请求的线程可见)
log.info("开始计时: {}",newSimpleDateFormat("hh:mm:ss.SSS").format(beginTime));
returntrue;
}
/**
* 返回处理
*/
@Override
publicvoidpostHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)throwsException {
if(modelAndView !=null){
log.info("ViewName: "+ modelAndView.getViewName());
}
}
/**
* 后处理
*/
@Override
publicvoidafterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)throwsException {
// 保存日志
//LogUtils.saveLog(request, handler, ex, null);
// 输出日志信息
log.info("访问地址:"+ request.getRequestURI() +",执行方式:"+ request.getMethod());
longbeginTime = startTimeThreadLocal.get();//得到线程绑定的局部变量(开始时间)
longendTime = System.currentTimeMillis();//结束时间
log.info("计时结束:{}",newSimpleDateFormat("hh:mm:ss.SSS").format(endTime));
} } |
二、修改配置文件
修改spring-mvc.xml件,加入:
代码如下 | 复制代码 |
|
三、运行测试
访问"http://localhost:8080/demo1/hello/list2"地址
可以看到拦截器中输出的日志信息了
-
上一个: jQuery实现图片滑动效果
相关文章
- HTML简单购物数量小程序代码展示 10-31
- html canvas实现弹幕功能 10-31
- HTML中空格表示的意义 10-31
- html area标签解读 10-31
- html使用表单标签实现注册页面代码展示 10-31
- 使用HTML截图并保存为本地图片的代码展示 10-31