diff options
author | noahs <noah.shogan@gmail.com> | 2017-12-06 13:11:38 +0200 |
---|---|---|
committer | noahs <noah.shogan@amdocs.com> | 2017-12-06 17:38:57 +0200 |
commit | f9f112f5fd5b193e79e38442cc566b7b437f87d2 (patch) | |
tree | 01a1ef7f840cbacb5ed465095926d14e83a7fd27 /openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src | |
parent | 0566f581c0f310384f42838c388f57234ed1d60e (diff) |
Duplicate logging frameworks merging
There was two copies of the SDC logging framework
Change-Id: I55c94c9817a83162c6d90e504dfd91e4858c7269
Issue-ID: SDC-703
Signed-off-by: noahs <noah.shogan@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src')
15 files changed, 0 insertions, 1222 deletions
diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/Markers.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/Markers.java deleted file mode 100644 index 711e6d1559..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/Markers.java +++ /dev/null @@ -1,50 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging; - -import org.slf4j.Marker; -import org.slf4j.MarkerFactory; - -/** - * <p>The list of markers that can be used for special logging such as metrics, audit, etc.</p> - * - * <p>Although markers can be easily instantiated whenever needed, having constants for them helps eliminate mistakes - - * misspelling, using a marker that is not handled, etc.</p> - * - * <p>Usage:</p> - * - * <pre> - * - * Logger log = LogFactory.getLogger(this.getClass()); - * log.info(Markers.AUDIT, "User '{}' logged out", user); - * - * </pre> - * - * @author EVITALIY - * @since 13/09/2016. - * - * @see Marker - */ -public class Markers { - - public static final Marker AUDIT = MarkerFactory.getMarker("AUDIT"); - public static final Marker METRICS = MarkerFactory.getMarker("METRICS"); -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/SLF4JLoggerCreationService.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/SLF4JLoggerCreationService.java deleted file mode 100644 index 5b7ed5ef4d..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/SLF4JLoggerCreationService.java +++ /dev/null @@ -1,240 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging; - -import org.openecomp.sdc.logging.api.Logger; -import org.openecomp.sdc.logging.api.LoggerCreationService; -import org.slf4j.LoggerFactory; - -/** - * @author evitaliy - * @since 13/09/2016. - */ -public class SLF4JLoggerCreationService implements LoggerCreationService { - - @Override - public Logger getLogger(String className) { - return new SFL4JWrapper(className); - } - - @Override - public Logger getLogger(Class<?> clazz) { - return new SFL4JWrapper(clazz); - } - - private class SFL4JWrapper implements Logger { - - private final org.slf4j.Logger logger; - - public SFL4JWrapper(Class<?> clazz) { - logger = LoggerFactory.getLogger(clazz); - } - - public SFL4JWrapper(String className) { - logger = LoggerFactory.getLogger(className); - } - - @Override - public String getName() { - return logger.getName(); - } - - @Override - public boolean isMetricsEnabled() { - return logger.isInfoEnabled(Markers.METRICS); - } - - @Override - public void metrics(String msg) { - logger.info(Markers.METRICS, msg); - } - - @Override - public void metrics(String msg, Object arg) { - logger.info(Markers.METRICS, msg, arg); - } - - @Override - public void metrics(String msg, Object arg1, Object arg2) { - logger.info(Markers.METRICS, msg, arg1, arg2); - } - - @Override - public void metrics(String msg, Object... arguments) { - logger.info(Markers.METRICS, msg, arguments); - } - - @Override - public void metrics(String msg, Throwable t) { - logger.info(Markers.METRICS, msg, t); - } - - @Override - public boolean isAuditEnabled() { - return logger.isInfoEnabled(Markers.AUDIT); - } - - @Override - public void audit(String msg) { - logger.info(Markers.AUDIT, msg); - } - - @Override - public void audit(String msg, Object arg) { - logger.info(Markers.AUDIT, msg, arg); - } - - @Override - public void audit(String msg, Object arg1, Object arg2) { - logger.info(Markers.AUDIT, msg, arg1, arg2); - } - - @Override - public void audit(String msg, Object... arguments) { - logger.info(Markers.AUDIT, msg, arguments); - } - - @Override - public void audit(String msg, Throwable t) { - logger.info(Markers.AUDIT, msg, t); - } - - @Override - public boolean isDebugEnabled() { - return logger.isDebugEnabled(); - } - - @Override - public void debug(String msg) { - logger.debug(msg); - } - - @Override - public void debug(String format, Object arg) { - logger.debug(format, arg); - } - - @Override - public void debug(String format, Object arg1, Object arg2) { - logger.debug(format, arg1, arg2); - } - - @Override - public void debug(String format, Object... arguments) { - logger.debug(format, arguments); - } - - @Override - public void debug(String msg, Throwable t) { - logger.debug(msg, t); - } - - @Override - public boolean isInfoEnabled() { - return logger.isInfoEnabled(); - } - - @Override - public void info(String msg) { - logger.info(msg); - } - - @Override - public void info(String format, Object arg) { - logger.info(format, arg); - } - - @Override - public void info(String format, Object arg1, Object arg2) { - logger.info(format, arg1, arg2); - } - - @Override - public void info(String format, Object... arguments) { - logger.info(format, arguments); - } - - @Override - public void info(String msg, Throwable t) { - logger.info(msg, t); - } - - @Override - public boolean isWarnEnabled() { - return logger.isWarnEnabled(); - } - - @Override - public void warn(String msg) { - logger.warn(msg); - } - - @Override - public void warn(String format, Object arg) { - logger.warn(format, arg); - } - - @Override - public void warn(String format, Object... arguments) { - logger.warn(format, arguments); - } - - @Override - public void warn(String format, Object arg1, Object arg2) { - logger.warn(format, arg1, arg2); - } - - @Override - public void warn(String msg, Throwable t) { - logger.warn(msg, t); - } - - @Override - public boolean isErrorEnabled() { - return logger.isErrorEnabled(); - } - - @Override - public void error(String msg) { - logger.error(msg); - } - - @Override - public void error(String format, Object arg) { - logger.error(format, arg); - } - - @Override - public void error(String format, Object arg1, Object arg2) { - logger.error(format, arg1, arg2); - } - - @Override - public void error(String format, Object... arguments) { - logger.error(format, arguments); - } - - @Override - public void error(String msg, Throwable t) { - logger.error(msg, t); - } - } -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/aspects/DebugAspect.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/aspects/DebugAspect.java deleted file mode 100644 index 7ac5be0591..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/aspects/DebugAspect.java +++ /dev/null @@ -1,70 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging.aspects; - -import org.aspectj.lang.JoinPoint; -import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; -import org.slf4j.Marker; -import org.slf4j.MarkerFactory; - -import java.lang.reflect.Method; - - -/** - * Created by TALIO on 12/26/2016. - */ -public class DebugAspect { - - private static final String MESSAGE_TEMPLATE = "'{}' '{}' with '{}'"; - private static final Marker DEBUG = MarkerFactory.getMarker("DEBUG"); - private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); - -// @Autowired -// private ParameterNameDiscoverer parameterNameDiscoverer; - - public void debugEnterMethod(final JoinPoint joinPoint){ - - Class type = joinPoint.getSignature().getDeclaringType(); - Method currentMethod = null; - for(Method method : type.getMethods()){ - if(method.getName().equals(joinPoint.getSignature().getName())){ - currentMethod = method; - break; - } - } - -// String[] parameterNames = parameterNameDiscoverer.getParameterNames(currentMethod); -// Object[] args = joinPoint.getArgs(); -// Parameter[] parameters = currentMethod.getParameters(); -// StringBuilder str = new StringBuilder(joinPoint.getSignature().getName() + " with parameters:" + -// " "); -// if(args.length == parameters.length) { -// for (int i = 0; i < args.length; i++) { -// str.append(parameters[i].getName()).append('=').append(args[i]); -// } -// } - mdcDataDebugMessage.debugEntryMessage(null, null); - } - - public void debugExitMethod(final JoinPoint joinPoint){ - mdcDataDebugMessage.debugExitMessage(null, null); - } -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/aspects/MetricsAspect.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/aspects/MetricsAspect.java deleted file mode 100644 index 782362b912..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/aspects/MetricsAspect.java +++ /dev/null @@ -1,70 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging.aspects; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.slf4j.Marker; -import org.slf4j.MarkerFactory; - -/** - * <p>Wraps around any method annotated with {@link Metrics} to measure and log its execution time - * in milliseconds.</p> - * <p>In order for the aspect to be used, AspectJ annotation processing must be tuned on and this - * particular aspect enabled. Conversely, it can be disabled completely if the application does not - * need to log metrics.</p> - * <p>See, for example, <a href="http://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.html"> - * Aspect Oriented Programming with Spring</a>.</p> - * - * @author evitaliy - * @see Metrics - * @since 27/07/2016. - */ -@Aspect -public class MetricsAspect { - - private static final String MESSAGE_TEMPLATE = "'{}' took {} milliseconds"; - private static final Marker METRICS = MarkerFactory.getMarker("METRICS"); - - @Around("@annotation(org.openecomp.sdc.logging.api.annotations.Metrics)") - public Object logExecutionTime(ProceedingJoinPoint pjp) throws Throwable { - - final Logger logger = LoggerFactory.getLogger(pjp.getSignature().getDeclaringTypeName()); - // measure and log only if the logger for this class is enabled - if (logger.isInfoEnabled()) { - - final String method = pjp.getSignature().getName(); - final long start = System.currentTimeMillis(); - - try { - return pjp.proceed(); - } finally { - logger.info(METRICS, MESSAGE_TEMPLATE, method, System.currentTimeMillis() - start); - } - - } else { - return pjp.proceed(); - } - } -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/MDCPropagationService.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/MDCPropagationService.java deleted file mode 100644 index 7e29f3c093..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/MDCPropagationService.java +++ /dev/null @@ -1,74 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging.context; - -import org.openecomp.sdc.logging.api.context.ContextPropagationService; -import org.slf4j.MDC; - -import java.util.Map; - -/** - * Propagates the <a href="http://www.slf4j.org/manual.html#mdc">SLF4J Mapped Diagnostic Context (MDC)</a> - * of a thread onto a runnable created by that thread, so that the context is available when the runnable is executed - * in a new thread. - * - * @author evitaliy - * @since 12/09/2016. - */ -public class MDCPropagationService implements ContextPropagationService { - - public Runnable create(Runnable task) { - return new MDCCopyingWrapper(task); - } - - private static class MDCCopyingWrapper implements Runnable { - - private final Runnable task; - private final Map<String, String> context; - - private MDCCopyingWrapper(Runnable task) { - this.task = task; - this.context = MDC.getCopyOfContextMap(); - } - - @Override - public void run() { - - Map<String, String> oldContext = MDC.getCopyOfContextMap(); - replaceMDC(this.context); - - try { - task.run(); - } finally { - replaceMDC(oldContext); - } - } - - private static void replaceMDC(Map<String, String> context) { - - if (context == null) { - MDC.clear(); - } else { - MDC.setContextMap(context); - } - } - } -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/MdcUtil.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/MdcUtil.java deleted file mode 100644 index 24d47162f4..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/MdcUtil.java +++ /dev/null @@ -1,59 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging.context; - -import org.openecomp.sdc.logging.types.LoggerConstants; -import org.slf4j.MDC; - -import java.util.UUID; - - -public class MdcUtil { - - /** - * Sets values for mdc. - * - * @param targetEntity the target entity - * @param targetServiceName the target service name - * @param errorCategory the error category - * @param errorCode the error code - * @param errorDescription the error description - */ - public static void setValuesForMdc(String targetEntity, String targetServiceName, - String errorCategory, String errorCode, - String errorDescription) { - MDC.put(LoggerConstants.TARGET_ENTITY, targetEntity); - MDC.put(LoggerConstants.TARGET_SERVICE_NAME, targetServiceName); - MDC.put(LoggerConstants.ERROR_CATEGORY, errorCategory); - MDC.put(LoggerConstants.ERROR_CODE, errorCode); - MDC.put(LoggerConstants.ERROR_DESCRIPTION, errorDescription); - } - - - /** - * Init mdc. - * @param serviceName the service name - * - */ - public static void initMdc(String serviceName) { - MDC.put(LoggerConstants.SERVICE_NAME, serviceName); - } -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/impl/MdcDataDebugMessage.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/impl/MdcDataDebugMessage.java deleted file mode 100644 index b21504d752..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/impl/MdcDataDebugMessage.java +++ /dev/null @@ -1,88 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging.context.impl; - -import org.openecomp.sdc.logging.api.Logger; -import org.openecomp.sdc.logging.api.LoggerFactory; -import org.openecomp.sdc.logging.context.MdcData; -import org.openecomp.sdc.logging.messages.DebugMessages; -import org.openecomp.sdc.logging.types.DebugConstants; -import org.openecomp.sdc.logging.types.LoggerErrorCategory; -import org.openecomp.sdc.logging.util.LoggingUtils; - -import java.util.HashMap; -import java.util.Map; - -public class MdcDataDebugMessage extends MdcData { - - private Logger logger; - private static Map<String, String> mapExitOrEntryToMessage; - - static { - mapExitOrEntryToMessage = new HashMap<>(); - mapExitOrEntryToMessage.put(DebugConstants.ENTER, DebugMessages.ENTER_METHOD); - mapExitOrEntryToMessage.put(DebugConstants.ENTER_DEFAULT, DebugMessages.DEFAULT_ENTER_METHOD); - mapExitOrEntryToMessage.put(DebugConstants.EXIT, DebugMessages.EXIT_METHOD); - mapExitOrEntryToMessage.put(DebugConstants.EXIT_DEFAULT, DebugMessages.DEFAULT_EXIT_METHOD); - } - - public MdcDataDebugMessage() { - super(LoggerErrorCategory.DEBUG.name(), null); - } - - //todo add more explanations as to the first parameter structure in case of multiples and in - // case of no params in method - /** - * Debug entry message. - * - * @param entityParameter the entity parameter - * @param ids the ids - */ - public void debugEntryMessage(String entityParameter, String... ids) { - logDebugMessage(entityParameter, DebugConstants.ENTER, ids); - } - - /** - * Debug exit message. - * - * @param entityParameter the entity parameter - * @param ids the ids - */ - public void debugExitMessage(String entityParameter, String... ids) { - logDebugMessage(entityParameter, DebugConstants.EXIT, ids); - } - - public void logDebugMessage(String entityParameter, String enterOrExit, String... ids) { - String methodName = LoggingUtils.getCallingMethodNameForDebugging(); - String declaringClass = LoggingUtils.getDeclaringClass(); - logger = (Logger) LoggerFactory.getLogger(declaringClass); - String messageToWrite; - - if (entityParameter == null || ids == null) { - messageToWrite = mapExitOrEntryToMessage.get(enterOrExit + "_" + DebugConstants.DEFAULT); - logger.debug(String.format(messageToWrite, methodName)); - } else { - messageToWrite = mapExitOrEntryToMessage.get(enterOrExit); - logger.debug(String - .format(messageToWrite, methodName, entityParameter, String.join(",", ids))); - } - } -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/impl/MdcDataErrorMessage.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/impl/MdcDataErrorMessage.java deleted file mode 100644 index 190c37d2b6..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/impl/MdcDataErrorMessage.java +++ /dev/null @@ -1,76 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging.context.impl; - -import org.openecomp.sdc.logging.context.MdcData; -import org.openecomp.sdc.logging.types.LoggerConstants; -import org.slf4j.MDC; - - -public class MdcDataErrorMessage extends MdcData { - private String targetEntity; - private String targetServiceName; - private String errorDescription; - - /** - * Instantiates a new Mdc data error message. - * - * @param targetEntity the target entity - * @param targetServiceName the target service name - * @param errorCategory the error category - * @param errorCode the error code - * @param errorDescription the error description - */ - public MdcDataErrorMessage(String targetEntity, String targetServiceName, String errorCategory, - String errorCode, String errorDescription) { - super(errorCategory, errorCode); - this.targetEntity = targetEntity; - this.targetServiceName = targetServiceName; - this.errorDescription = errorDescription; - - this.setMdcValues(); - } - - /** - * Create error message and update mdc. - * - * @param targetEntity the target entity - * @param targetServiceName the target service name - * @param level the level - * @param errorCode the error code - * @param errorDescription the error description - */ - public static void createErrorMessageAndUpdateMdc(String targetEntity, String targetServiceName, - String level, String errorCode, - String errorDescription) { - MdcDataErrorMessage mdcDataErrorMessage = - new MdcDataErrorMessage(targetEntity, targetServiceName, level, errorCode, - errorDescription); - } - - @Override - public void setMdcValues() { - super.setMdcValues(); - MDC.put(LoggerConstants.TARGET_ENTITY, this.targetEntity); - MDC.put(LoggerConstants.TARGET_SERVICE_NAME, this.targetServiceName); - MDC.put(LoggerConstants.ERROR_DESCRIPTION, this.errorDescription); - } -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/logback/DispatchingAppender.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/logback/DispatchingAppender.java deleted file mode 100644 index 2273e1c7ef..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/logback/DispatchingAppender.java +++ /dev/null @@ -1,148 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging.logback; - -import ch.qos.logback.classic.Logger; -import ch.qos.logback.classic.LoggerContext; -import ch.qos.logback.classic.sift.MDCBasedDiscriminator; -import ch.qos.logback.classic.spi.ILoggingEvent; -import ch.qos.logback.core.Appender; -import ch.qos.logback.core.AppenderBase; -import ch.qos.logback.core.joran.spi.DefaultClass; -import ch.qos.logback.core.sift.Discriminator; -import org.slf4j.LoggerFactory; - -import java.util.Iterator; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -/** - * <p>Allows to use EELF logging configuration almost as is, by using a custom routing function, but pre-configured - * appenders attached to the standard EELF loggers.</p> - * - * <p>Changes that must be made in <i>logback.xml</i> supplied with EELF:</p> - * - * <pre> - * <appender name="DISPATCHER" class="org.openecomp.sdc.logging.logback.DispatchingAppender"> - * <discriminator class="org.openecomp.sdc.logging.logback.EventTypeDiscriminator"/> - * <appenderNamePattern>asyncEELF%s</appenderNamePattern> - * </appender> - * - * <root level="INFO" additivity="false"> - * <appender-ref ref="DISPATCHER" /> - * </root> - * </pre> - * - * @author EVITALIY - * @since 17/08/2016. - */ -public class DispatchingAppender extends AppenderBase<ILoggingEvent> { - - // "magic" appender to indicate a missing appender - private static final Appender<ILoggingEvent> NO_APPENDER = new DispatchingAppender(); - - private Map<String, Appender<ILoggingEvent>> appenders = new ConcurrentHashMap<>(); - - private Discriminator<ILoggingEvent> discriminator; - private String appenderNamePattern; - - @DefaultClass(MDCBasedDiscriminator.class) - public void setDiscriminator(Discriminator<ILoggingEvent> discriminator) { - this.discriminator = discriminator; - } - - public Discriminator<ILoggingEvent> getDiscriminator() { - return this.discriminator; - } - - public void setAppenderNamePattern(String pattern) { - this.appenderNamePattern = pattern; - } - - public String getAppenderNamePattern() { - return this.appenderNamePattern; - } - - @Override - protected void append(ILoggingEvent event) { - - if (this.isStarted()) { - - String discriminatingValue = this.discriminator.getDiscriminatingValue(event); - String appenderName = String.format(this.appenderNamePattern, discriminatingValue); - Appender<ILoggingEvent> appender = this.lookupAppender(appenderName); - if (appender == NO_APPENDER) { - this.addError(String.format("Appender %s does not exist", appenderName)); - } else { - appender.doAppend(event); - } - } - } - - private Appender<ILoggingEvent> lookupAppender(String key) { - - Appender<ILoggingEvent> appender = appenders.get(key); - if (appender != null) { - return appender; - } - - LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); - for (Logger log : context.getLoggerList()) { - - Iterator<Appender<ILoggingEvent>> iterator = log.iteratorForAppenders(); - while (iterator.hasNext()) { - - Appender<ILoggingEvent> element = iterator.next(); - if (key.equals(element.getName())) { - this.appenders.putIfAbsent(key, element); - return element; - } - } - } - - // to avoid consecutive lookups if the required appender does not exist - this.appenders.putIfAbsent(key, NO_APPENDER); - return NO_APPENDER; - } - - @Override - public void start() { - - int errors = 0; - if (this.discriminator == null) { - this.addError("Missing discriminator. Aborting"); - } - - if (!this.discriminator.isStarted()) { - this.addError("Discriminator has not started successfully. Aborting"); - ++errors; - } - - if (this.appenderNamePattern == null) { - this.addError("Missing name pattern. Aborting"); - ++errors; - } - - if (errors == 0) { - super.start(); - } - } -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/logback/EventTypeDiscriminator.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/logback/EventTypeDiscriminator.java deleted file mode 100644 index 5aa36656af..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/logback/EventTypeDiscriminator.java +++ /dev/null @@ -1,121 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging.logback; - -import ch.qos.logback.classic.Level; -import ch.qos.logback.classic.spi.ILoggingEvent; -import ch.qos.logback.core.sift.AbstractDiscriminator; -import org.openecomp.sdc.logging.Markers; -import org.slf4j.Marker; - -/** - * Can be used with {@link ch.qos.logback.classic.sift.SiftingAppender} to route events of different types to - * separate log files. For example, - * - * <pre> - * <configuration> - * <appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender"> - * <discriminator class="org.openecomp.sdc.logging.logback.EventTypeDiscriminator"/> - * <sift> - * <appender name="{EventType}" class="ch.qos.logback.core.rolling.RollingFileAppender"> - * <file>${logDirectory}/${eventType}.log</file> - * <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> - * <fileNamePattern>${logDirectory}/${eventType}.%i.log.zip</fileNamePattern> - * <minIndex>1</minIndex> - * <maxIndex>9</maxIndex> - * </rollingPolicy> - * <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> - * <maxFileSize>5MB</maxFileSize> - * </triggeringPolicy> - * <encoder> - * <pattern>${defaultPattern}</pattern> - * </encoder> - * </appender> - * </sift> - * </appender> - * - * <root level="INFO"> - * <appender-ref ref="SIFT" /> - * </root> - * </configuration> - * </pre> - * - * @author evitaliy - * @since 21/07/2016. - */ -public class EventTypeDiscriminator extends AbstractDiscriminator<ILoggingEvent> { - - private static final String KEY = "eventType"; - - private static final String AUDIT = "Audit"; - private static final String METRICS = "Metrics"; - private static final String ERROR = "Error"; - private static final String DEBUG = "Debug"; - private static final String DEFAULT = DEBUG; - - private static final int MIN_ERROR_LEVEL = Level.WARN_INT; - private static final int MAX_ERROR_LEVEL = Level.ERROR_INT; - private static final int DEFAULT_LEVEL = Level.DEBUG_INT; - - @Override - public String getDiscriminatingValue(ILoggingEvent event) { - - Level level = event.getLevel(); - final int levelInt = level == null ? DEFAULT_LEVEL : level.toInt(); - if ((levelInt > MIN_ERROR_LEVEL - 1) && (levelInt < MAX_ERROR_LEVEL + 1)) { - return ERROR; - } - - if (levelInt == Level.DEBUG_INT) { - return DEBUG; - } - - /* - * After DEBUG, ERROR, and WARNING have been filtered out, - * only TRACE and INFO are left. TRACE is less than DEBUG - * and therefore cannot be used. So, INFO should be used for - * custom routing like AUDIT and METRICS - */ - if (levelInt == Level.INFO_INT) { - - final Marker marker = event.getMarker(); - if (marker != null) { - - if (marker.contains(Markers.AUDIT)) { - return AUDIT; - } - - if (marker.contains(Markers.METRICS)) { - return METRICS; - } - } - - return ERROR; - } - - return DEFAULT; - } - - @Override - public String getKey() { - return KEY; - } -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/method/LoggingInvocationHandler.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/method/LoggingInvocationHandler.java deleted file mode 100644 index 87184455c3..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/method/LoggingInvocationHandler.java +++ /dev/null @@ -1,45 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging.method; - -import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; - -import java.lang.reflect.InvocationHandler; -import java.lang.reflect.Method; - -/** - * Created by TALIO on 1/8/2017. - */ -public class LoggingInvocationHandler implements InvocationHandler { - - private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); - private final Object invocImpl; - - public LoggingInvocationHandler(final Object invocImpl){ - this.invocImpl = invocImpl; - } - - @Override - public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - mdcDataDebugMessage.debugEntryMessage(null, null); - return method.invoke(invocImpl, args); - } -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/servlet/LoggingFilter.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/servlet/LoggingFilter.java deleted file mode 100644 index 31b89464c9..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/servlet/LoggingFilter.java +++ /dev/null @@ -1,144 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging.servlet; - -import org.omg.CORBA.Request; -import org.openecomp.sdc.logging.api.Logger; -import org.openecomp.sdc.logging.api.LoggerFactory; -import org.slf4j.MDC; - -import javax.servlet.*; -import javax.servlet.http.HttpServletRequest; -import java.io.IOException; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.UUID; -import java.util.concurrent.atomic.AtomicLong; - - -/** - * - * <p>Pushes information required by EELF onto MDC (Mapped Diagnostic Context).</p> - * - * <p>This is servlet filter that should be configured in <i>web.xml</i> to be used. Example:</p> - * - * <pre> - * - * <filter> - * <filter-name>LoggingServletFilter</filter-name> - * <filter-class>org.openecomp.sdc.logging.servlet.LoggingFilter</filter-class> - * </filter> - * - * <filter-mapping> - * <filter-name>LoggingServletFilter</filter-name> - * <url-pattern>/*</url-pattern> - * </filter-mapping> - * - * </pre> - * - * @author evitaliy - * @since 25/07/2016. - */ -public class LoggingFilter implements Filter { - - // should be cashed to avoid low-level call, but with a timeout to account for IP or FQDN changes - private static final HostAddressCache HOST_ADDRESS = new HostAddressCache(); - private static final String UNKNOWN = "UNKNOWN"; - - private final static Logger log = (Logger) LoggerFactory.getLogger(LoggingFilter.class.getName()); - - public void destroy() { - } - - public void doFilter(ServletRequest request, ServletResponse response, - FilterChain chain) throws IOException, ServletException { - - try { - - MDC.clear(); - - MDC.put("RequestId", UUID.randomUUID().toString()); - MDC.put("ServiceInstanceId", "N/A"); // not applicable - MDC.put("ServiceName", "ASDC"); - MDC.put("InstanceUUID", "N/A"); - - // For some reason chooses IPv4 or IPv6 in a random way - MDC.put("RemoteHost", request.getRemoteHost()); - - InetAddress host = HOST_ADDRESS.get(); - - String ipAddress, hostName; - if (host == null) { - ipAddress = UNKNOWN; - hostName = UNKNOWN; - } else { - ipAddress = host.getHostAddress(); - hostName = host.getHostName(); - } - - MDC.put("ServerIPAddress", ipAddress); - MDC.put("ServerFQDN", hostName); - - if(request instanceof HttpServletRequest) { - String userName = ((HttpServletRequest) request).getHeader("USER_ID"); - MDC.put("PartnerName", userName); - } - // TODO: Clarify what these stand for - // MDC.put("AlertSeverity", ); - // MDC.put("Timer", ); - - chain.doFilter(request, response); - - } finally { - MDC.clear(); - } - } - - public void init(FilterConfig config) throws ServletException { } - - private static class HostAddressCache { - - private static final long REFRESH_TIME = 1000L; - - private AtomicLong lastUpdated = new AtomicLong(0L); - private InetAddress hostAddress; - - public InetAddress get() { - - long current = System.currentTimeMillis(); - if (current - lastUpdated.get() > REFRESH_TIME) { - - synchronized (this) { - - try { - lastUpdated.set(current); // set now to register the attempt even if failed - hostAddress = InetAddress.getLocalHost(); - } catch (UnknownHostException e) { - log.debug("",e); - hostAddress = null; - } - } - } - - return hostAddress; - } - } -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/util/LoggingUtils.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/util/LoggingUtils.java deleted file mode 100644 index 06b0d5b2bc..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/util/LoggingUtils.java +++ /dev/null @@ -1,35 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.logging.util; - -/** - * Created by TALIO on 1/10/2017. - */ -public class LoggingUtils { - - public static String getCallingMethodNameForDebugging() { - return Thread.currentThread().getStackTrace()[4].getMethodName(); - } - - public static String getDeclaringClass(){ - return Thread.currentThread().getStackTrace()[4].getClassName(); - } -} diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/resources/META-INF/services/org.openecomp.sdc.logging.api.LoggerCreationService b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/resources/META-INF/services/org.openecomp.sdc.logging.api.LoggerCreationService deleted file mode 100644 index ee01c4d871..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/resources/META-INF/services/org.openecomp.sdc.logging.api.LoggerCreationService +++ /dev/null @@ -1 +0,0 @@ -org.openecomp.sdc.logging.SLF4JLoggerCreationService
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/resources/META-INF/services/org.openecomp.sdc.logging.api.context.ContextPropagationService b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/resources/META-INF/services/org.openecomp.sdc.logging.api.context.ContextPropagationService deleted file mode 100644 index 2c401614ae..0000000000 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/resources/META-INF/services/org.openecomp.sdc.logging.api.context.ContextPropagationService +++ /dev/null @@ -1 +0,0 @@ -org.openecomp.sdc.logging.context.MDCPropagationService
\ No newline at end of file |