Geek

博客园 首页 新随笔 联系 订阅 管理
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) [%X{_traceId}] --- [%15.15(%thread)] %cyan(%-40.40(%logger{40})) : %msg%n</pattern>

package top.hundreds.homeworkhelper.common.config.tomcat;

import cn.hutool.core.util.IdUtil;
import org.slf4j.MDC;
import org.springframework.core.annotation.Order;
import org.springframework.util.StringUtils;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;

/**
 * slf4j 线程日志设置
 * @Author lyr
 * @create 2020/10/12 19:46
 */
@Order(1)
@WebFilter(urlPatterns = "/*")
public class LogTraceFilter implements Filter {
    private static final String TRACE_ID = "_traceId";
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        String traceId = servletRequest.getParameter(TRACE_ID);
        if(StringUtils.isEmpty(traceId)) {
            traceId = IdUtil.fastSimpleUUID();

        }
        MDC.put(TRACE_ID,traceId);
        filterChain.doFilter(servletRequest, servletResponse);
    }
}

 

posted on 2020-10-12 20:22  .geek  阅读(149)  评论(0编辑  收藏  举报