Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ bin/

# Maven
target/

.idea/
64 changes: 3 additions & 61 deletions src/main/java/com/github/markusbernhardt/proxy/util/Logger.java
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -42,60 +37,6 @@ public interface LogBackEnd {

}

/*****************************************************************************
* Slf4j logging backend.
****************************************************************************/

public class Slf4jLogBackEnd implements LogBackEnd {

protected Map<Class<?>, org.slf4j.Logger> loggers = new ConcurrentHashMap<Class<?>, 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;

/*************************************************************************
Expand Down Expand Up @@ -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);
}

}
Original file line number Diff line number Diff line change
@@ -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<Class<?>, org.slf4j.Logger> loggers = new ConcurrentHashMap<Class<?>, 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;
}
}