日记拦截器的配置

来源:互联网 发布:有限公司医药软件 编辑:程序博客网 时间:2024/06/05 01:03

虽然很简单,但是对很多人来说还是有用的..留下来以后做个足迹;

** * 记录日志拦截器 * 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>
原创粉丝点击