summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/sdc/common/onaplog/OnapLoggerError.java
blob: 97344194a10968cb88344a0932b37700d00abe2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package org.onap.sdc.common.onaplog;

import org.onap.sdc.common.onaplog.Enums.LogLevel;
import org.onap.sdc.common.onaplog.Enums.LogMarkers;
import org.onap.sdc.common.onaplog.Enums.OnapLoggerErrorCode;
import org.onap.sdc.common.onaplog.interfaces.IOnapMdcWrapper;
import org.slf4j.LoggerFactory;
import org.slf4j.MarkerFactory;
import org.slf4j.MDC;

import static org.onap.sdc.common.onaplog.OnapLogConfiguration.*;

public class OnapLoggerError extends OnapLoggerBase {
    private static OnapLoggerError instanceLoggerError = OnapLoggerFactory.getLogger(OnapLoggerError.class);

    OnapLoggerError(IOnapMdcWrapper onapMDCWrapper) {
        super(onapMDCWrapper, MarkerFactory.getMarker(LogMarkers.ERROR_MARKER.text()));
        logger = LoggerFactory.getLogger(this.getClass().getName());
    }

    public static OnapLoggerError getInstance() {
        return instanceLoggerError;
    }

    @Override
    public void initializeMandatoryFields() {
        onapMDCWrapper.setMandatoryField(MDC_BEGIN_TIMESTAMP);
        onapMDCWrapper.setMandatoryField(MDC_SERVICE_NAME);
        onapMDCWrapper.setMandatoryField(MDC_ERROR_CATEGORY);
        onapMDCWrapper.setMandatoryField(MDC_ERROR_CODE);
        onapMDCWrapper.setMandatoryField(MDC_ERROR_DESC);
        onapMDCWrapper.setOptionalField(MDC_TARGET_ENTITY);
        onapMDCWrapper.setOptionalField(MDC_TARGET_SERVICE_NAME);
    }
    
    @Override
    public void log(LogLevel errorLevel, String className, String message, Object... args) {
        MDC.put(MDC_ERROR_CATEGORY, "ERROR");
        this
            .startTimer()
            .setServiceName("DCAE")
            .setErrorCode(OnapLoggerErrorCode.UNKNOWN_ERROR)
            .setErrorDescription();
        super.log(errorLevel, className, message, args);
    }

    @Override
    public OnapLoggerError startTimer() {
        return (OnapLoggerError) super.startTimer();
    }

    @Override
    public OnapLoggerError setKeyRequestId(String keyRequestId) {
        return (OnapLoggerError) super.setKeyRequestId(keyRequestId);
    }

    public OnapLoggerError setServiceName(String serviceName) {
        onapMDCWrapper.setServiceName(serviceName);
        return this;
    }

    public OnapLoggerError setTargetEntity(String targetEntity) {
        onapMDCWrapper.setTargetEntity(targetEntity);
        return this;
    }

    private OnapLoggerError setErrorCode(OnapLoggerErrorCode errorCode) {
        onapMDCWrapper.setErrorCode(errorCode.getErrorCode());
        return this;
    }

    private OnapLoggerError setErrorDescription() {
        onapMDCWrapper.setErrorDescription("error");
        return this;
    }

    @Override
    public OnapLoggerError clear() {
        return (OnapLoggerError) super.clear();
    }

}