aboutsummaryrefslogtreecommitdiffstats
path: root/common-app-api/src/main/java/org/openecomp/sdc/common/ecomplog/EcompLoggerFactory.java
blob: 2ea1280f480583c1e528feae12866c121d964df7 (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
package org.openecomp.sdc.common.ecomplog;

/**
 * Created by dd4296 on 12/26/2017.
 * this factory helps decouple the classes for Stopwatch and EcompMDCWrapper from
 * the EcompLogger classes
 */
public class EcompLoggerFactory {

    private EcompLoggerFactory() {
    }

    @SuppressWarnings("unchecked")
    static public <T, V> V getLogger(Class<T> type) {

        if (type.getName().equals(EcompLoggerAudit.class.getName())) {
            return (V) new EcompLoggerAudit(new EcompMDCWrapper(new Stopwatch()));
        }

        if (type.getName().equals(EcompLoggerDebug.class.getName())) {
            return (V) new EcompLoggerDebug(new EcompMDCWrapper(new Stopwatch()));
        }

        if (type.getName().equals(EcompLoggerMetric.class.getName())) {
            return (V) new EcompLoggerMetric(new EcompMDCWrapper(new Stopwatch()));
        }

        if (type.getName().equals(EcompLoggerError.class.getName())) {
            return (V) new EcompLoggerError(new EcompMDCWrapper(new Stopwatch()));
        }

        return null;
    }
}