diff options
author | Smokowski, Kevin (ks6305) <kevin.smokowski@att.com> | 2020-02-24 18:33:27 +0000 |
---|---|---|
committer | Smokowski, Kevin (ks6305) <kevin.smokowski@att.com> | 2020-02-24 18:33:27 +0000 |
commit | 7b5d3d08876124b713b12a0b5983752af4b5921b (patch) | |
tree | 42856e73ba7cfbba43b2560bce39647fe8c534ec /sli/provider-base | |
parent | 3a325d8192addf27423494d8ed8b621dedcf7888 (diff) |
minor logging updates
create error logger, integrate with record node and improve slf4jrecorder
Issue-ID: CCSDK-2115
Signed-off-by: Smokowski, Kevin (ks6305) <kevin.smokowski@att.com>
Change-Id: I857ce0fac070278a195204195eaae0c53d2d0d52
Diffstat (limited to 'sli/provider-base')
-rw-r--r-- | sli/provider-base/src/main/java/org/onap/ccsdk/sli/core/sli/recording/Slf4jRecorder.java | 54 |
1 files changed, 42 insertions, 12 deletions
diff --git a/sli/provider-base/src/main/java/org/onap/ccsdk/sli/core/sli/recording/Slf4jRecorder.java b/sli/provider-base/src/main/java/org/onap/ccsdk/sli/core/sli/recording/Slf4jRecorder.java index e3f4f1b7..4f67c5d9 100644 --- a/sli/provider-base/src/main/java/org/onap/ccsdk/sli/core/sli/recording/Slf4jRecorder.java +++ b/sli/provider-base/src/main/java/org/onap/ccsdk/sli/core/sli/recording/Slf4jRecorder.java @@ -28,14 +28,16 @@ import java.util.Map; import java.util.TimeZone; import org.onap.ccsdk.sli.core.sli.ConfigurationException; +import org.onap.ccsdk.sli.core.sli.ErrorLogger; import org.onap.ccsdk.sli.core.sli.SvcLogicException; import org.onap.ccsdk.sli.core.sli.SvcLogicRecorder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Slf4jRecorder implements SvcLogicRecorder { - - + protected DateFormat dateFmt; + protected static final String messageLogName = "message-log"; + public enum Level { ERROR, WARN, @@ -44,13 +46,17 @@ public class Slf4jRecorder implements SvcLogicRecorder { TRACE } + protected Logger defaultLogger = LoggerFactory.getLogger(Slf4jRecorder.class); + protected Logger messageLogger = LoggerFactory.getLogger(messageLogName); + + public Slf4jRecorder() { + TimeZone tz = TimeZone.getTimeZone("UTC"); + dateFmt = new SimpleDateFormat("yyy-MM-dd'T'HH:mm:ss:SS'+00:00'"); + dateFmt.setTimeZone(tz); + } + @Override public void record(Map<String, String> parmMap) throws SvcLogicException { - String loggerName = parmMap.get("logger"); - if (loggerName == null) { - loggerName = "Log4jRecorder"; - } - String lvl = parmMap.get("level"); if (lvl == null) { lvl = "INFO"; @@ -98,12 +104,20 @@ public class Slf4jRecorder implements SvcLogicRecorder { throw new ConfigurationException("No record/fields passed in record node"); } - Logger logger = LoggerFactory.getLogger(loggerName); + String loggerName = parmMap.get("logger"); + Logger logger = null; + if (loggerName == null) { + logger = defaultLogger; + }else { + if(loggerName.equals(messageLogName)){ + logger = messageLogger; + }else { + logger = LoggerFactory.getLogger(loggerName); + } + } Date now = new Date(); - TimeZone tz = TimeZone.getTimeZone("UTC"); - DateFormat dateFmt = new SimpleDateFormat("yyy-MM-dd'T'HH:mm:ss:SS'+00:00'"); - dateFmt.setTimeZone(tz); + if (record.indexOf("__TIMESTAMP__") != -1) { record = record.replaceFirst("__TIMESTAMP__", dateFmt.format(now)); @@ -111,7 +125,23 @@ public class Slf4jRecorder implements SvcLogicRecorder { switch (level) { case ERROR: - logger.error(record); + String errorCode = parmMap.get("errorCode"); + String errorDescription = parmMap.get("errorDescription"); + + if ((errorCode != null && !errorCode.isEmpty()) + || (errorDescription != null && !errorDescription.isEmpty())) { + ErrorLogger e = new ErrorLogger(logger); + + Integer integerCode = 0; + try { + integerCode = Integer.valueOf(errorCode); + } catch (NumberFormatException nfe) { + // do nothing + } + e.createLogEntry(record, integerCode, errorDescription, null); + } else { + logger.error(record); + } break; case WARN: logger.warn(record); |