diff --git a/.gitignore b/.gitignore index 22ea5562..ac2751ee 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ bin/ # Maven target/ + +.idea/ \ No newline at end of file diff --git a/src/main/java/com/github/markusbernhardt/proxy/util/Logger.java b/src/main/java/com/github/markusbernhardt/proxy/util/Logger.java index 5c9c1d93..438c8055 100644 --- a/src/main/java/com/github/markusbernhardt/proxy/util/Logger.java +++ b/src/main/java/com/github/markusbernhardt/proxy/util/Logger.java @@ -1,10 +1,5 @@ package com.github.markusbernhardt.proxy.util; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import org.slf4j.LoggerFactory; - /***************************************************************************** * Simple logging support for the framework. You need to add a logging listener * that needs to send the logging events to a backend. @@ -42,60 +37,6 @@ public interface LogBackEnd { } - /***************************************************************************** - * Slf4j logging backend. - ****************************************************************************/ - - public class Slf4jLogBackEnd implements LogBackEnd { - - protected Map, org.slf4j.Logger> loggers = new ConcurrentHashMap, org.slf4j.Logger>(); - - /** - * {@inheritDoc} - */ - @Override - public void log(Class clazz, LogLevel loglevel, String msg, Object... params) { - org.slf4j.Logger log = getLogger(clazz); - - switch (loglevel) { - case ERROR: - if (log.isErrorEnabled()) { - log.error(msg, params); - } - break; - case WARNING: - if (log.isWarnEnabled()) { - log.warn(msg, params); - } - break; - case INFO: - if (log.isInfoEnabled()) { - log.info(msg, params); - } - break; - case TRACE: - if (log.isTraceEnabled()) { - log.trace(msg, params); - } - break; - case DEBUG: - if (log.isDebugEnabled()) { - log.debug(msg, params); - } - break; - } - } - - protected org.slf4j.Logger getLogger(Class clazz) { - org.slf4j.Logger logger = loggers.get(clazz); - if (logger == null) { - logger = LoggerFactory.getLogger(clazz); - loggers.put(clazz, logger); - } - return logger; - } - } - private static LogBackEnd backend; /************************************************************************* @@ -133,9 +74,10 @@ public static void setBackend(LogBackEnd backend) { ************************************************************************/ public static void log(Class clazz, LogLevel loglevel, String msg, Object... params) { - if (backend != null) { - backend.log(clazz, loglevel, msg, params); + if (backend == null) { + backend = new Slf4jLogBackEnd(); } + backend.log(clazz, loglevel, msg, params); } } diff --git a/src/main/java/com/github/markusbernhardt/proxy/util/Slf4jLogBackEnd.java b/src/main/java/com/github/markusbernhardt/proxy/util/Slf4jLogBackEnd.java new file mode 100644 index 00000000..aeef169e --- /dev/null +++ b/src/main/java/com/github/markusbernhardt/proxy/util/Slf4jLogBackEnd.java @@ -0,0 +1,60 @@ +package com.github.markusbernhardt.proxy.util; + +import org.slf4j.LoggerFactory; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/***************************************************************************** + * Slf4j logging backend. + ****************************************************************************/ + +public class Slf4jLogBackEnd implements Logger.LogBackEnd { + + protected Map, org.slf4j.Logger> loggers = new ConcurrentHashMap, org.slf4j.Logger>(); + + /** + * {@inheritDoc} + */ + @Override + public void log(Class clazz, Logger.LogLevel loglevel, String msg, Object... params) { + org.slf4j.Logger log = getLogger(clazz); + + switch (loglevel) { + case ERROR: + if (log.isErrorEnabled()) { + log.error(msg, params); + } + break; + case WARNING: + if (log.isWarnEnabled()) { + log.warn(msg, params); + } + break; + case INFO: + if (log.isInfoEnabled()) { + log.info(msg, params); + } + break; + case TRACE: + if (log.isTraceEnabled()) { + log.trace(msg, params); + } + break; + case DEBUG: + if (log.isDebugEnabled()) { + log.debug(msg, params); + } + break; + } + } + + protected org.slf4j.Logger getLogger(Class clazz) { + org.slf4j.Logger logger = loggers.get(clazz); + if (logger == null) { + logger = LoggerFactory.getLogger(clazz); + loggers.put(clazz, logger); + } + return logger; + } +}