diff options
Diffstat (limited to 'catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/LoggingServlet.java')
-rw-r--r-- | catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/LoggingServlet.java | 79 |
1 files changed, 9 insertions, 70 deletions
diff --git a/catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/LoggingServlet.java b/catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/LoggingServlet.java index 3cb601fc3c..4bcbaa531b 100644 --- a/catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/LoggingServlet.java +++ b/catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/LoggingServlet.java @@ -20,107 +20,46 @@ package org.openecomp.sdc.fe.servlets; -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; -import org.openecomp.sdc.common.api.Constants; import org.openecomp.sdc.common.servlets.BasicServlet; -import org.openecomp.sdc.fe.impl.MdcData; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.slf4j.MDC; +import org.openecomp.sdc.fe.impl.LogHandler; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.core.Response; -import java.util.concurrent.TimeUnit; public abstract class LoggingServlet extends BasicServlet { - private static final int EXPIRE_DURATION = 10; - private static final Cache<String, MdcData> mdcDataCache = CacheBuilder.newBuilder().expireAfterWrite(EXPIRE_DURATION, TimeUnit.SECONDS).build(); + public static final String UUID = "uuid"; + public static final String TRANSACTION_START_TIME = "transactionStartTime"; /** * log incoming requests - * * @param httpRequest the http request */ - protected void logFeRequest(HttpServletRequest httpRequest) { - - MDC.clear(); - - Long transactionStartTime = System.currentTimeMillis(); - String uuid = httpRequest.getHeader(Constants.X_ECOMP_REQUEST_ID_HEADER); - String serviceInstanceID = httpRequest.getHeader(Constants.X_ECOMP_SERVICE_ID_HEADER); - - if (uuid != null && uuid.length() > 0) { - String userId = httpRequest.getHeader(Constants.USER_ID_HEADER); - - String remoteAddr = httpRequest.getRemoteAddr(); - String localAddr = httpRequest.getLocalAddr(); - - mdcDataCache.put(uuid, new MdcData(serviceInstanceID, userId, remoteAddr, localAddr, transactionStartTime)); - - updateMdc(uuid, serviceInstanceID, userId, remoteAddr, localAddr, null); - } + void logFeRequest(HttpServletRequest httpRequest){ + LogHandler.logFeRequest(httpRequest); inHttpRequest(httpRequest); } /** * log response - * - * @param request orig request + * @param request orig request * @param response returned response */ - protected void logFeResponse(HttpServletRequest request, Response response) { - String uuid = request.getHeader(Constants.X_ECOMP_REQUEST_ID_HEADER); - String transactionRoundTime = null; - - if (uuid != null) { - MdcData mdcData = mdcDataCache.getIfPresent(uuid); - if (mdcData != null) { - Long transactionStartTime = mdcData.getTransactionStartTime(); - if (transactionStartTime != null) { // should'n ever be null, but - // just to be defensive - transactionRoundTime = Long.toString(System.currentTimeMillis() - transactionStartTime); - } - updateMdc(uuid, mdcData.getServiceInstanceID(), mdcData.getUserId(), mdcData.getRemoteAddr(), mdcData.getLocalAddr(), transactionRoundTime); - } - } + void logFeResponse(HttpServletRequest request, Response response) { + LogHandler.logFeResponse(request); outHttpResponse(response); - - MDC.clear(); } /** * Extracted for purpose of clear method name, for logback %M parameter - * * @param httpRequest http request */ - protected abstract void inHttpRequest(HttpServletRequest httpRequest); + protected abstract void inHttpRequest(HttpServletRequest httpRequest) ; /** * Extracted for purpose of clear method name, for logback %M parameter - * * @param response http response */ protected abstract void outHttpResponse(Response response); - - /** - * update mdc with values from the request - * - * @param uuid service uuid - * @param serviceInstanceID serviceInstanceID - * @param userId userId - * @param remoteAddr remoteAddr - * @param localAddr localAddr - * @param transactionStartTime transactionStartTime - */ - private void updateMdc(String uuid, String serviceInstanceID, String userId, String remoteAddr, String localAddr, String transactionStartTime) { - MDC.put("uuid", uuid); - MDC.put("serviceInstanceID", serviceInstanceID); - MDC.put("userId", userId); - MDC.put("remoteAddr", remoteAddr); - MDC.put("localAddr", localAddr); - MDC.put("timer", transactionStartTime); - } } |