代码优化
This commit is contained in:
@@ -23,12 +23,10 @@ import org.springframework.web.servlet.ModelAndView;
|
|||||||
*/
|
*/
|
||||||
public class LogInterceptor extends BaseService implements HandlerInterceptor {
|
public class LogInterceptor extends BaseService implements HandlerInterceptor {
|
||||||
|
|
||||||
private static final ThreadLocal<Long> startTimeThreadLocal =
|
private static final ThreadLocal<Long> startTimeThreadLocal = new NamedThreadLocal<>("LogInterceptorStartTime");
|
||||||
new NamedThreadLocal<Long>("LogInterceptor StartTime");
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
|
||||||
Object handler) throws Exception {
|
|
||||||
long beginTime = System.currentTimeMillis();// 1、开始时间
|
long beginTime = System.currentTimeMillis();// 1、开始时间
|
||||||
startTimeThreadLocal.set(beginTime); // 线程绑定变量(该数据只有当前请求的线程可见)
|
startTimeThreadLocal.set(beginTime); // 线程绑定变量(该数据只有当前请求的线程可见)
|
||||||
if (logger.isDebugEnabled()){
|
if (logger.isDebugEnabled()){
|
||||||
@@ -38,25 +36,22 @@ public class LogInterceptor extends BaseService implements HandlerInterceptor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
|
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
|
||||||
ModelAndView modelAndView) throws Exception {
|
|
||||||
if (modelAndView != null && logger.isDebugEnabled()){
|
if (modelAndView != null && logger.isDebugEnabled()){
|
||||||
logger.debug("ViewName: " + modelAndView.getViewName() + " <<< " + request.getRequestURI() + " >>> " + handler);
|
logger.debug("ViewName: {} <<< {} >>> {}", modelAndView.getViewName(), request.getRequestURI(), handler);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
|
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
|
||||||
Object handler, Exception ex) throws Exception {
|
Object handler, Exception ex) {
|
||||||
long endTime = System.currentTimeMillis(); // 2、结束时间
|
long endTime = System.currentTimeMillis(); // 2、结束时间
|
||||||
long startTime = 0; // 得到线程绑定的局部变量(开始时间)
|
long startTime = 0; // 得到线程绑定的局部变量(开始时间)
|
||||||
if (startTimeThreadLocal != null){
|
Long time = startTimeThreadLocal.get();
|
||||||
Long time = startTimeThreadLocal.get();
|
if (time != null){
|
||||||
if (time != null){
|
startTime = time;
|
||||||
startTime = time;
|
|
||||||
}
|
|
||||||
startTimeThreadLocal.remove(); // 用完之后销毁线程变量数据
|
|
||||||
}
|
}
|
||||||
|
startTimeThreadLocal.remove(); // 用完之后销毁线程变量数据
|
||||||
if (startTime == 0){
|
if (startTime == 0){
|
||||||
startTime = endTime + 1000; // 得到 -1000 方便统计
|
startTime = endTime + 1000; // 得到 -1000 方便统计
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user