2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 # Copyright (c) 2020, CMCC Technologies Co., Ltd.
7 # Licensed under the Apache License, Version 2.0 (the "License")
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
11 # http://www.apache.org/licenses/LICENSE-2.0
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.so.adapters.nssmf.interceptor;
23 import org.apache.logging.log4j.ThreadContext;
24 import org.springframework.stereotype.Component;
25 import org.springframework.web.servlet.HandlerInterceptor;
26 import org.springframework.web.servlet.ModelAndView;
27 import javax.servlet.http.HttpServletRequest;
28 import javax.servlet.http.HttpServletResponse;
29 import java.util.UUID;
32 public class LoggerInterceptor implements HandlerInterceptor {
34 private final static String TRACE_ID = "traceId";
37 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
39 String traceId = UUID.randomUUID().toString().replaceAll("-", "").toUpperCase();
40 ThreadContext.put(TRACE_ID, traceId);
45 public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
46 ModelAndView modelAndView) throws Exception {
51 public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
53 ThreadContext.remove(TRACE_ID);