From bbad75af2ce5cd9a31f5a3d7a64f2381702438ff Mon Sep 17 00:00:00 2001 From: qiuxuquan <767917432@qq.com> Date: Thu, 16 Dec 2021 18:20:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dservlet=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E5=99=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tlog/web/filter/TLogServletFilter.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tlog-webroot/src/main/java/com/yomahub/tlog/web/filter/TLogServletFilter.java b/tlog-webroot/src/main/java/com/yomahub/tlog/web/filter/TLogServletFilter.java index e7eb988..10ef38b 100644 --- a/tlog-webroot/src/main/java/com/yomahub/tlog/web/filter/TLogServletFilter.java +++ b/tlog-webroot/src/main/java/com/yomahub/tlog/web/filter/TLogServletFilter.java @@ -23,15 +23,16 @@ public void init(FilterConfig filterConfig) throws ServletException { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (request instanceof HttpServletRequest && response instanceof HttpServletResponse){ - try{ - TLogWebCommon.loadInstance().preHandle((HttpServletRequest)request); - //把traceId放入response的header,为了方便有些人有这样的需求,从前端拿整条链路的traceId - ((HttpServletResponse)response).addHeader(TLogConstants.TLOG_TRACE_KEY, TLogContext.getTraceId()); - }finally { - TLogWebCommon.loadInstance().afterCompletion(); - } + TLogWebCommon.loadInstance().preHandle((HttpServletRequest)request); + //把traceId放入response的header,为了方便有些人有这样的需求,从前端拿整条链路的traceId + ((HttpServletResponse)response).addHeader(TLogConstants.TLOG_TRACE_KEY, TLogContext.getTraceId()); } chain.doFilter(request, response); + + if (request instanceof HttpServletRequest && response instanceof HttpServletResponse) { + // 放置在doFilter后面, 否则未进入方法就清空了 + TLogWebCommon.loadInstance().afterCompletion(); + } } @Override