summaryrefslogtreecommitdiffstats
path: root/common-app-api/src/main/java/org/openecomp/sdc/common/log/elements/LoggerBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'common-app-api/src/main/java/org/openecomp/sdc/common/log/elements/LoggerBase.java')
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/log/elements/LoggerBase.java166
1 files changed, 0 insertions, 166 deletions
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/log/elements/LoggerBase.java b/common-app-api/src/main/java/org/openecomp/sdc/common/log/elements/LoggerBase.java
deleted file mode 100644
index 1c14d24da8..0000000000
--- a/common-app-api/src/main/java/org/openecomp/sdc/common/log/elements/LoggerBase.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2019 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.common.log.elements;
-
-import com.google.common.annotations.VisibleForTesting;
-import org.apache.commons.lang3.StringUtils;
-import org.openecomp.sdc.common.log.api.ILogFieldsHandler;
-import org.openecomp.sdc.common.log.api.ILogger;
-import org.openecomp.sdc.common.log.enums.LogLevel;
-import org.openecomp.sdc.common.log.enums.LogMarkers;
-import org.openecomp.sdc.common.util.ThreadLocalsHolder;
-import org.slf4j.Logger;
-import org.slf4j.Marker;
-import org.slf4j.MarkerFactory;
-
-import java.util.Arrays;
-import java.util.List;
-
-
-/**
- * Created by mm288v on 12/27/2017.
- * This class holds the common behavior of all Loger-Typed classes.
- * The Concrete loggers shoudl derive from this one.
- */
-public abstract class LoggerBase implements ILogger {
- private final Logger myLogger;
- private final Marker myMarker;
- final ILogFieldsHandler ecompLogFieldsHandler;
- private static final String MISSING_LOG_FIELDS_MESSAGE = "mandatory parameters for ECOMP logging, missing fields: %s, original message: %s";
-
- LoggerBase(ILogFieldsHandler ecompLogFieldsHandler, Marker marker, Logger logger) {
- this.ecompLogFieldsHandler = ecompLogFieldsHandler;
- this.myMarker = marker;
- this.myLogger = logger;
- setKeyRequestIdIfNotSetYet();
- }
-
- void setKeyRequestIdIfNotSetYet() {
- if (StringUtils.isEmpty(ecompLogFieldsHandler.getKeyRequestId())) {
- setKeyRequestId(ThreadLocalsHolder.getUuid());
- }
- }
-
- private void validateMandatoryFields(String originMsg) {
- // this method only checks if the mandatory fields have been initialized
- String filedNameThatHasNotBeenInitialized = checkMandatoryFieldsExistInMDC();
-
- if (myLogger.isDebugEnabled() && !"".equalsIgnoreCase(filedNameThatHasNotBeenInitialized)) {
- myLogger.debug(MarkerFactory.getMarker(LogMarkers.DEBUG_MARKER.text()),
- String.format(MISSING_LOG_FIELDS_MESSAGE, filedNameThatHasNotBeenInitialized, originMsg));
- }
- }
-
- @VisibleForTesting
- String checkMandatoryFieldsExistInMDC() {
- // this method returns a String of uninitialised fields
- StringBuilder missingFields = new StringBuilder();
- getMandatoryFields().forEach(field -> {
- if (ecompLogFieldsHandler.isMDCParamEmpty(field)) {
- missingFields.append(field).append(" ");
- }
- });
- return missingFields.toString();
- }
-
- public abstract List<String> getMandatoryFields();
-
- protected String convertExceptionStackToString(Exception ex) {
- StringBuilder stackTrack = new StringBuilder();
- Arrays.asList(ex.getStackTrace()).forEach(item -> stackTrack.append(item.toString()).append("\n"));
- return stackTrack.toString();
- }
-
- @Override
- public void log(LogLevel logLevel, String message) {
- log(logLevel, message, (Object) null);
- }
-
- @Override
- public void log(LogLevel logLevel, String message, Object... params) {
- validateMandatoryFields(message);
-
- switch (logLevel) {
- case ERROR:
- case FATAL: //TODO check how to log "FATAL" word
- myLogger.error(myMarker, message, params);
- break;
- case WARN:
- myLogger.warn(myMarker, message, params);
- break;
- case INFO:
- myLogger.info(myMarker, message, params);
- break;
- case DEBUG:
- myLogger.debug(myMarker, message, params);
- break;
- case TRACE:
- myLogger.trace(myMarker, message, params);
- break;
- default:
- break;
- }
- }
-
- @Override
- public void log(LogLevel logLevel, String message, Throwable throwable) {
- validateMandatoryFields(message);
-
- switch (logLevel) {
- case ERROR:
- case FATAL: //TODO check how to log "FATAL" word
- myLogger.error(myMarker, createErrorMessage(message, throwable));
- break;
- case WARN:
- myLogger.warn(myMarker, createErrorMessage(message, throwable));
- break;
- case INFO:
- myLogger.info(myMarker, createErrorMessage(message, throwable));
- break;
- case DEBUG:
- myLogger.debug(myMarker, message, throwable);
- break;
- case TRACE:
- myLogger.trace(myMarker, message, throwable);
- break;
- default:
- break;
- }
- }
-
- String createErrorMessage(String message, Throwable throwable) {
- return String.format("%s: %s", message, throwable.getLocalizedMessage());
- }
-
-
- @Override
- public ILogger clear() {
- ecompLogFieldsHandler.clear();
- return this;
- }
-
- @Override
- public ILogger setKeyRequestId(String keyRequestId) {
- ecompLogFieldsHandler.setKeyRequestId(keyRequestId);
- return this;
- }
-
-}