From ff167b0c384dfe59979776ae46cd00a2b6638a17 Mon Sep 17 00:00:00 2001 From: Per Abich Date: Tue, 16 Oct 2018 09:03:48 +0200 Subject: [PATCH 1/3] Added suggested fix for #52. When the Logger backend is null we use the Slf4J backend by default --- .../java/com/github/markusbernhardt/proxy/util/Logger.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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..fadd4880 100644 --- a/src/main/java/com/github/markusbernhardt/proxy/util/Logger.java +++ b/src/main/java/com/github/markusbernhardt/proxy/util/Logger.java @@ -46,7 +46,7 @@ public interface LogBackEnd { * Slf4j logging backend. ****************************************************************************/ - public class Slf4jLogBackEnd implements LogBackEnd { + public static class Slf4jLogBackEnd implements LogBackEnd { protected Map, org.slf4j.Logger> loggers = new ConcurrentHashMap, org.slf4j.Logger>(); @@ -133,9 +133,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); } } From 35adbcac182b9b98e60cfbf3b4d63755677fb87c Mon Sep 17 00:00:00 2001 From: Per Abich Date: Tue, 16 Oct 2018 09:04:02 +0200 Subject: [PATCH 2/3] Adding intelliJ ignore rules --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) 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 From a1a21a96520e57dea95ebacaee470027e4f29f3f Mon Sep 17 00:00:00 2001 From: Per Abich Date: Tue, 16 Oct 2018 09:32:39 +0200 Subject: [PATCH 3/3] Moved the Slf4jLogBackEnd.java to to level to improve usability. --- .../markusbernhardt/proxy/util/Logger.java | 59 ------------------ .../proxy/util/Slf4jLogBackEnd.java | 60 +++++++++++++++++++ 2 files changed, 60 insertions(+), 59 deletions(-) create mode 100644 src/main/java/com/github/markusbernhardt/proxy/util/Slf4jLogBackEnd.java 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 fadd4880..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 static 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; /************************************************************************* 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; + } +}