bca4a12d4b78428d3fcf89089ac0394e125b18c2
[so.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  # Copyright (c) 2020, CMCC Technologies Co., Ltd.
6  #
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
10  #
11  #       http://www.apache.org/licenses/LICENSE-2.0
12  #
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=========================================================
19  */
20
21 package org.onap.so.adapters.nssmf.interceptor;
22
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;
30
31 @Component
32 public class LoggerInterceptor implements HandlerInterceptor {
33
34     private final static String TRACE_ID = "traceId";
35
36     @Override
37     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
38             throws Exception {
39         String traceId = UUID.randomUUID().toString().replaceAll("-", "").toUpperCase();
40         ThreadContext.put(TRACE_ID, traceId);
41         return true;
42     }
43
44     @Override
45     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
46             ModelAndView modelAndView) throws Exception {
47
48     }
49
50     @Override
51     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
52             throws Exception {
53         ThreadContext.remove(TRACE_ID);
54     }
55 }