summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/logging/aop/EPEELFLoggerAdvice.java
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/logging/aop/EPEELFLoggerAdvice.java')
-rw-r--r--ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/logging/aop/EPEELFLoggerAdvice.java175
1 files changed, 120 insertions, 55 deletions
diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/logging/aop/EPEELFLoggerAdvice.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/logging/aop/EPEELFLoggerAdvice.java
index 18fb5027..71338a84 100644
--- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/logging/aop/EPEELFLoggerAdvice.java
+++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/logging/aop/EPEELFLoggerAdvice.java
@@ -2,7 +2,7 @@
* ============LICENSE_START==========================================
* ONAP Portal
* ===================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ===================================================================
*
* Unless otherwise specified, all software contained herein is licensed
@@ -38,15 +38,17 @@
package org.onap.portalapp.portal.logging.aop;
import java.net.InetAddress;
-import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
+import org.onap.portalapp.portal.domain.EPApp;
import org.onap.portalapp.portal.domain.EPUser;
+import org.onap.portalapp.portal.service.AppsCacheService;
import org.onap.portalapp.portal.utils.EPCommonSystemProperties;
+import org.onap.portalapp.portal.utils.EcompPortalUtils;
import org.onap.portalapp.util.EPUserUtils;
import org.onap.portalsdk.core.exception.SessionExpiredException;
import org.onap.portalsdk.core.logging.format.AlarmSeverityEnum;
@@ -56,6 +58,7 @@ import org.onap.portalsdk.core.util.SystemProperties;
import org.onap.portalsdk.core.util.SystemProperties.SecurityEventTypeEnum;
import org.onap.portalsdk.core.web.support.UserUtils;
import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
import com.att.eelf.configuration.Configuration;
@@ -63,6 +66,9 @@ import com.att.eelf.configuration.Configuration;
public class EPEELFLoggerAdvice {
private EELFLoggerDelegate adviceLogger = EELFLoggerDelegate.getLogger(EPEELFLoggerAdvice.class);
+
+ @Autowired
+ AppsCacheService appCacheService;
/**
* DateTime Format according to the ONAP Application Logging Guidelines.
@@ -166,7 +172,11 @@ public class EPEELFLoggerAdvice {
String requestId = UUID.randomUUID().toString();
MDC.put(Configuration.MDC_KEY_REQUEST_ID, requestId);
}
- MDC.put(EPCommonSystemProperties.PARTNER_NAME, "Unknown");
+
+ if (MDC.get(EPCommonSystemProperties.PARTNER_NAME) == null|| MDC.get(EPCommonSystemProperties.PARTNER_NAME).isEmpty()){
+ MDC.put(EPCommonSystemProperties.PARTNER_NAME, "Unknown");
+ }
+
MDC.put(Configuration.MDC_SERVICE_NAME, EPCommonSystemProperties.ECOMP_PORTAL_BE);
@@ -310,62 +320,18 @@ public class EPEELFLoggerAdvice {
&& securityEventType != SecurityEventTypeEnum.LDAP_PHONEBOOK_USER_SEARCH
&& securityEventType != SecurityEventTypeEnum.INCOMING_UEB_MESSAGE) {
// Load the RequestID (aka TrasactionId) into MDC context.
- String requestId = UserUtils.getRequestId(req);
- if (requestId == null||requestId.trim().length()==0) {
- requestId = UUID.randomUUID().toString();
- }
- MDC.put(Configuration.MDC_KEY_REQUEST_ID, requestId);
-
- // Load user agent into MDC context, if available.
- String accessingClient = req.getHeader(SystemProperties.USERAGENT_NAME);
- accessingClient = (accessingClient == null || accessingClient.trim().length()==0)?"Unknown":accessingClient;
- if (accessingClient != null && accessingClient.trim().length()==0 && (accessingClient.contains("Mozilla")
- || accessingClient.contains("Chrome") || accessingClient.contains("Safari"))) {
- accessingClient = EPCommonSystemProperties.ECOMP_PORTAL_FE;
- }
- MDC.put(EPCommonSystemProperties.PARTNER_NAME, accessingClient);
-
- // Load loginId into MDC context.
- EPUser user = null;
- try {
- user = EPUserUtils.getUserSession(req);
- } catch (SessionExpiredException se) {
- adviceLogger.debug(EELFLoggerDelegate.debugLogger,
- "setHttpRequestBasedDefaultsIntoGlobalLoggingContext: No user found in session");
- }
+ loadRequestId(req);
+
+ loadPartnerName(req);
- MDC.put(EPCommonSystemProperties.MDC_LOGIN_ID, (user != null ? user.getOrgUserId() : "NoUser"));
-
- // Rest URL & Protocol
- String restURL = "";
- MDC.put(EPCommonSystemProperties.FULL_URL, EPCommonSystemProperties.UNKNOWN);
- MDC.put(EPCommonSystemProperties.PROTOCOL, EPCommonSystemProperties.HTTP);
- restURL = UserUtils.getFullURL(req);
- //if (restURL != null && restURL != "") {
- if (restURL != null && restURL.trim().length()>0) {
- MDC.put(EPCommonSystemProperties.FULL_URL, restURL);
- if (restURL.toLowerCase().contains("https")) {
- MDC.put(EPCommonSystemProperties.PROTOCOL, EPCommonSystemProperties.HTTPS);
- }
- }
+ loadLoginId(req);
- // Rest Path
- MDC.put(Configuration.MDC_SERVICE_NAME, restMethod);
- String restPath = req.getServletPath();
- //if (restPath != null && restPath != "") {
- if (restPath != null && restPath.trim().length()>0) {
+ loadUrlProtocol(req);
- MDC.put(Configuration.MDC_SERVICE_NAME, restPath);
- }
+ loadServicePath(req, restMethod);
- // Client IPAddress i.e. IPAddress of the remote host who is
- // making this request.
- String clientIPAddress = "";
- clientIPAddress = req.getHeader("X-FORWARDED-FOR");
- if (clientIPAddress == null) {
- clientIPAddress = req.getRemoteAddr();
- }
- MDC.put(EPCommonSystemProperties.CLIENT_IP_ADDRESS, clientIPAddress);
+ loadClientAddress(req);
+
} else if (securityEventType == SecurityEventTypeEnum.LDAP_PHONEBOOK_USER_SEARCH) {
MDC.put(EPCommonSystemProperties.TARGET_ENTITY, "Phonebook");
MDC.put(EPCommonSystemProperties.TARGET_SERVICE_NAME, "search");
@@ -387,6 +353,105 @@ public class EPEELFLoggerAdvice {
}
}
+ private void loadClientAddress(HttpServletRequest req) {
+ // Client IPAddress i.e. IPAddress of the remote host who is
+ // making this request.
+ String clientIPAddress = "";
+ clientIPAddress = req.getHeader("X-FORWARDED-FOR");
+ if (clientIPAddress == null) {
+ clientIPAddress = req.getRemoteAddr();
+ }
+ MDC.put(EPCommonSystemProperties.CLIENT_IP_ADDRESS, clientIPAddress);
+ }
+
+ private void loadServicePath(HttpServletRequest req, String restMethod) {
+ // Rest Path
+ MDC.put(Configuration.MDC_SERVICE_NAME, restMethod);
+ String restPath = req.getServletPath();
+ //if (restPath != null && restPath != "") {
+ if (restPath != null && restPath.trim().length()>0) {
+
+ MDC.put(Configuration.MDC_SERVICE_NAME, restPath);
+ }
+ }
+
+ private void loadUrlProtocol(HttpServletRequest req) {
+ // Rest URL & Protocol
+ String restURL = "";
+ MDC.put(EPCommonSystemProperties.FULL_URL, EPCommonSystemProperties.UNKNOWN);
+ MDC.put(EPCommonSystemProperties.PROTOCOL, EPCommonSystemProperties.HTTP);
+ restURL = UserUtils.getFullURL(req);
+ //if (restURL != null && restURL != "") {
+ if (restURL != null && restURL.trim().length()>0) {
+ MDC.put(EPCommonSystemProperties.FULL_URL, restURL);
+ if (restURL.toLowerCase().contains("https")) {
+ MDC.put(EPCommonSystemProperties.PROTOCOL, EPCommonSystemProperties.HTTPS);
+ }
+ }
+ }
+
+ private void loadRequestId(HttpServletRequest req) {
+ String requestId = UserUtils.getRequestId(req);
+ if (requestId == null||requestId.trim().length()==0) {
+ requestId = UUID.randomUUID().toString();
+ }
+ MDC.put(Configuration.MDC_KEY_REQUEST_ID, requestId);
+ }
+
+ private void loadLoginId(HttpServletRequest req) {
+ // Load loginId into MDC context.
+ String loginId = "NoUser";
+
+ try {
+ EPUser user = EPUserUtils.getUserSession(req);
+ loginId = (user != null ? user.getOrgUserId(): loginId);
+ } catch (SessionExpiredException se) {
+ adviceLogger.debug(EELFLoggerDelegate.debugLogger,
+ "setHttpRequestBasedDefaultsIntoGlobalLoggingContext: No user found in session");
+ }
+
+ // try fetching from username in header
+ final String nameHeader = req.getHeader(EPCommonSystemProperties.USERNAME);
+ if (nameHeader != null) {
+ loginId = nameHeader;
+ }
+
+ // try fetching from BasicAuth info
+ final String authHeader = req.getHeader(EPCommonSystemProperties.AUTHORIZATION);
+ if (authHeader != null) {
+ String[] accountNamePassword = EcompPortalUtils.getUserNamePassword(authHeader);
+ if (accountNamePassword != null && accountNamePassword.length == 2) {
+ loginId = accountNamePassword[0];
+ }
+
+ }
+
+ MDC.put(EPCommonSystemProperties.MDC_LOGIN_ID, loginId );
+
+ }
+
+ private void loadPartnerName(HttpServletRequest req) {
+
+
+ // Load user agent into MDC context, if available.
+ String accessingClient = req.getHeader(SystemProperties.USERAGENT_NAME);
+ accessingClient = (accessingClient == null || accessingClient.trim().length()==0)?"Unknown":accessingClient;
+ if (accessingClient != null && accessingClient.trim().length()==0 && (accessingClient.contains("Mozilla")
+ || accessingClient.contains("Chrome") || accessingClient.contains("Safari"))) {
+ accessingClient = EPCommonSystemProperties.ECOMP_PORTAL_FE;
+ }
+ MDC.put(EPCommonSystemProperties.PARTNER_NAME, accessingClient);
+
+ // try get the Partner name from uebkey
+ String uebVal = req.getHeader(EPCommonSystemProperties.UEB_KEY);
+ if(uebVal != null) {
+ EPApp appRecord = appCacheService.getAppFromUeb(uebVal);
+ MDC.put(EPCommonSystemProperties.PARTNER_NAME, appRecord.getName());
+ }
+
+
+ }
+
/**
*
* @param beginDateTime