虽然很简单,但是对很多人来说还是有用的..留下来以后做个足迹;
**
* 记录日志拦截器
* Created by Administrator on 2017/5/25.
*/
public class LogInterceptor implements HandlerInterceptor {
private static Logger logger = LoggerFactory.getLogger(LogInterceptor.class);
/**
* 只做日志的记录,不做业务判断
* @param httpServletRequest
* @param httpServletResponse
* @param o
* @return
* @throws Exception
*/
@Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
//增加跨域支持
httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
httpServletResponse.setHeader("Access-Control-Max-Age", "3600");
httpServletResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with");
String loginName = httpServletRequest.getParameter("loginUserName");
StringBuffer loggerStr = new StringBuffer();
if(loginName!=null){
loggerStr.append("用户:"+loginName+"调用:");
}else{
loggerStr.append("未登录调用:");
}
loggerStr.append(httpServletRequest.getRequestURI()+",参数:");
Iterator<Map.Entry<String, String[]>> it = httpServletRequest.getParameterMap().entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String[]> entry = it.next();
loggerStr.append(entry.getKey()+":"+ StringUtils.join(entry.getValue())+",");
}
logger.info(loggerStr.toString());
return true;
}
@Override
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
String loginName = httpServletRequest.getParameter("loginUserName");
StringBuffer loggerStr = new StringBuffer();
if(loginName!=null){
loggerStr.append("用户:"+loginName+"调用接口:");
}else{
loggerStr.append("未登录调用接口:");
}
loggerStr.append(httpServletRequest.getRequestURI()+"成功!");
logger.info(loggerStr.toString());
}
@Override
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
}
springMVC配置文件中配置拦截器
<!-- 配置拦截器 -->
<mvc:interceptors>
<!-- 日记拦截器 -->
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/error"/>
<bean class="com.mimacx.interceptor.LogInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>