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.isAssignableFrom(LoggerAudit.class)) {
19 return (V) new LoggerAudit(new LogFieldsMdcHandler(), logger);
22 if (type.isAssignableFrom(LoggerDebug.class)) {
23 return (V) new LoggerDebug(new LogFieldsMdcHandler(), logger);
26 if (type.isAssignableFrom(LoggerMetric.class)) {
27 return (V) new LoggerMetric(new LogFieldsMdcHandler(), logger);
30 if (type.isAssignableFrom(LoggerError.class)) {
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.isAssignableFrom(LoggerAudit.class)) {
41 return (V) new LoggerAudit(LogFieldsMdcHandler.getInstance(), logger);
44 if (type.isAssignableFrom(LoggerDebug.class)) {
45 return (V) new LoggerDebug(LogFieldsMdcHandler.getInstance(), logger);
48 if (type.isAssignableFrom(LoggerMetric.class)) {
49 return (V) new LoggerMetric(LogFieldsMdcHandler.getInstance(), logger);
52 if (type.isAssignableFrom(LoggerError.class)) {
53 return (V) new LoggerError(LogFieldsMdcHandler.getInstance(), logger);
56 if (type.isAssignableFrom(LoggerSupportability.class)) {
57 return (V) new LoggerSupportability(LogFieldsMdcHandler.getInstance(), logger);