利用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() {

    }

}

© 版权声明

相关文章

暂无评论

none
暂无评论...