1 package org.openecomp.sdc.common.log.elements;
3 import org.slf4j.Logger;
6 * Created by dd4296 on 12/26/2017.
7 * this factory helps decouple the classes for Stopwatch and LogFieldsMdcHandler from
8 * the EcompLogger classes
10 public class LoggerFactory {
12 private LoggerFactory() {
15 @SuppressWarnings("unchecked")
16 public static <T, V> V getLogger(Class<T> type, Logger logger) {
18 if (type.getName().equals(LoggerAudit.class.getName())) {
19 return (V) new LoggerAudit(new LogFieldsMdcHandler(), logger);
22 if (type.getName().equals(LoggerDebug.class.getName())) {
23 return (V) new LoggerDebug(new LogFieldsMdcHandler(), logger);
26 if (type.getName().equals(LoggerMetric.class.getName())) {
27 return (V) new LoggerMetric(new LogFieldsMdcHandler(), logger);
30 if (type.getName().equals(LoggerError.class.getName())) {
31 return (V) new LoggerError(new LogFieldsMdcHandler(), logger);
37 @SuppressWarnings("unchecked")
38 public static <T, V> V getMdcLogger(Class<T> type, Logger logger) {
40 if (type.getName().equals(LoggerAudit.class.getName())) {
41 return (V) new LoggerAudit(LogFieldsMdcHandler.getInstance(), logger);
44 if (type.getName().equals(LoggerDebug.class.getName())) {
45 return (V) new LoggerDebug(LogFieldsMdcHandler.getInstance(), logger);
48 if (type.getName().equals(LoggerMetric.class.getName())) {
49 return (V) new LoggerMetric(LogFieldsMdcHandler.getInstance(), logger);
52 if (type.getName().equals(LoggerError.class.getName())) {
53 return (V) new LoggerError(LogFieldsMdcHandler.getInstance(), logger);