利用MDC增加traceID

package qsq.biz.repay.filter;

import org.slf4j.MDC;
import qsq.biz.common.util.UniqUtil;

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

/**

  • 增加输出日志traceId
    /
    @WebFilter(urlPatterns = "/
    ", filterName = "logbackFilter")
    public class LogbackFilter implements Filter {

    private static final String UNIQUE_ID = "traceId";

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    boolean isInserted = insertMDC();
    try {
    chain.doFilter(request, response);
    } finally {
    if(isInserted) {
    MDC.remove(UNIQUE_ID);
    }
    }
    }

    private boolean insertMDC() {
    MDC.put(UNIQUE_ID, UniqUtil.uniqid());
    return true;
    }

    @Override
    public void destroy() {

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容