有专门为个人网站做推广的吗,工信部网站icp备案号,大连零基础网站建设教学服务,修改网站描述一、slf4j中MDC是什么 slf4j除了trace、debug、info、warn、error这几个日志接口外#xff0c;还可以配合MDC将数据写入日志。换句话说MDC也是用来记录日志的#xff0c;但它的使用方式与使用日志接口不同。
在使用日志接口时我们一般这么做 log.debug(log debug还可以配合MDC将数据写入日志。换句话说MDC也是用来记录日志的但它的使用方式与使用日志接口不同。
在使用日志接口时我们一般这么做 log.debug(log debug);
MDC从使用方式上有些不同,我对它的理解是MDC可以将一个处理线程中你想体现在日志文件中的数据统一管理起来根据你的日志文件配置决定是否输出。 比如以下但不限于以下场景可以考虑使用MDC来达到目的 1.我们想在日志中体现请求用户IP地址 2.用户使用http客户端的user-agent 3.记录一次处理线程的日志跟踪编号(这个编号目的是为了查询日志方便结合grep命令能根据跟踪编号将本次的处理日志全部输出)
二、功能实现
public class LogInterceptor implements HandlerInterceptor {private final static String IP_KEY ip;Overridepublic void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)throws Exception {// 删除用户IPMDC.remove(IP_KEY);}Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView mav)throws Exception {}Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception {String ip IPUtils.getIpAddr(request);MDC.put(IP_KEY, ip);return true;}
}
三、参考资料
slf4j中的MDC-CSDN博客