package org.slf4j.event;
import java.util.
Queue;
import org.slf4j.
Logger;
import org.slf4j.
Marker;
import org.slf4j.helpers.
SubstituteLogger;
public class
EventRecodingLogger implements
Logger {
String name;
SubstituteLogger logger;
Queue<
SubstituteLoggingEvent>
eventQueue;
public
EventRecodingLogger(
SubstituteLogger logger,
Queue<
SubstituteLoggingEvent>
eventQueue) {
this.
logger =
logger;
this.
name =
logger.
getName();
this.
eventQueue =
eventQueue;
}
public
String getName() {
return
name;
}
private void
recordEvent(
Level level,
String msg,
Object[]
args,
Throwable throwable) {
recordEvent(
level, null,
msg,
args,
throwable);
}
private void
recordEvent(
Level level,
Marker marker,
String msg,
Object[]
args,
Throwable throwable) {
// System.out.println("recording logger:"+name+", msg:"+msg);
SubstituteLoggingEvent loggingEvent = new
SubstituteLoggingEvent();
loggingEvent.
setTimeStamp(
System.
currentTimeMillis());
loggingEvent.
setLevel(
level);
loggingEvent.
setLogger(
logger);
loggingEvent.
setLoggerName(
name);
loggingEvent.
setMarker(
marker);
loggingEvent.
setMessage(
msg);
loggingEvent.
setArgumentArray(
args);
loggingEvent.
setThrowable(
throwable);
loggingEvent.
setThreadName(
Thread.
currentThread().
getName());
eventQueue.
add(
loggingEvent);
}
public boolean
isTraceEnabled() {
return true;
}
public void
trace(
String msg) {
recordEvent(
Level.
TRACE,
msg, null, null);
}
public void
trace(
String format,
Object arg) {
recordEvent(
Level.
TRACE,
format, new
Object[] {
arg }, null);
}
public void
trace(
String format,
Object arg1,
Object arg2) {
recordEvent(
Level.
TRACE,
format, new
Object[] {
arg1,
arg2 }, null);
}
public void
trace(
String format,
Object...
arguments) {
recordEvent(
Level.
TRACE,
format,
arguments, null);
}
public void
trace(
String msg,
Throwable t) {
recordEvent(
Level.
TRACE,
msg, null,
t);
}
public boolean
isTraceEnabled(
Marker marker) {
return true;
}
public void
trace(
Marker marker,
String msg) {
recordEvent(
Level.
TRACE,
marker,
msg, null, null);
}
public void
trace(
Marker marker,
String format,
Object arg) {
recordEvent(
Level.
TRACE,
marker,
format, new
Object[] {
arg }, null);
}
public void
trace(
Marker marker,
String format,
Object arg1,
Object arg2) {
recordEvent(
Level.
TRACE,
marker,
format, new
Object[] {
arg1,
arg2 }, null);
}
public void
trace(
Marker marker,
String format,
Object...
argArray) {
recordEvent(
Level.
TRACE,
marker,
format,
argArray, null);
}
public void
trace(
Marker marker,
String msg,
Throwable t) {
recordEvent(
Level.
TRACE,
marker,
msg, null,
t);
}
public boolean
isDebugEnabled() {
return true;
}
public void
debug(
String msg) {
recordEvent(
Level.
TRACE,
msg, null, null);
}
public void
debug(
String format,
Object arg) {
recordEvent(
Level.
DEBUG,
format, new
Object[] {
arg }, null);
}
public void
debug(
String format,
Object arg1,
Object arg2) {
recordEvent(
Level.
DEBUG,
format, new
Object[] {
arg1,
arg2 }, null);
}
public void
debug(
String format,
Object...
arguments) {
recordEvent(
Level.
DEBUG,
format,
arguments, null);
}
public void
debug(
String msg,
Throwable t) {
recordEvent(
Level.
DEBUG,
msg, null,
t);
}
public boolean
isDebugEnabled(
Marker marker) {
return true;
}
public void
debug(
Marker marker,
String msg) {
recordEvent(
Level.
DEBUG,
marker,
msg, null, null);
}
public void
debug(
Marker marker,
String format,
Object arg) {
recordEvent(
Level.
DEBUG,
marker,
format, new
Object[] {
arg }, null);
}
public void
debug(
Marker marker,
String format,
Object arg1,
Object arg2) {
recordEvent(
Level.
DEBUG,
marker,
format, new
Object[] {
arg1,
arg2 }, null);
}
public void
debug(
Marker marker,
String format,
Object...
arguments) {
recordEvent(
Level.
DEBUG,
marker,
format,
arguments, null);
}
public void
debug(
Marker marker,
String msg,
Throwable t) {
recordEvent(
Level.
DEBUG,
marker,
msg, null,
t);
}
public boolean
isInfoEnabled() {
return true;
}
public void
info(
String msg) {
recordEvent(
Level.
INFO,
msg, null, null);
}
public void
info(
String format,
Object arg) {
recordEvent(
Level.
INFO,
format, new
Object[] {
arg }, null);
}
public void
info(
String format,
Object arg1,
Object arg2) {
recordEvent(
Level.
INFO,
format, new
Object[] {
arg1,
arg2 }, null);
}
public void
info(
String format,
Object...
arguments) {
recordEvent(
Level.
INFO,
format,
arguments, null);
}
public void
info(
String msg,
Throwable t) {
recordEvent(
Level.
INFO,
msg, null,
t);
}
public boolean
isInfoEnabled(
Marker marker) {
return true;
}
public void
info(
Marker marker,
String msg) {
recordEvent(
Level.
INFO,
marker,
msg, null, null);
}
public void
info(
Marker marker,
String format,
Object arg) {
recordEvent(
Level.
INFO,
marker,
format, new
Object[] {
arg }, null);
}
public void
info(
Marker marker,
String format,
Object arg1,
Object arg2) {
recordEvent(
Level.
INFO,
marker,
format, new
Object[] {
arg1,
arg2 }, null);
}
public void
info(
Marker marker,
String format,
Object...
arguments) {
recordEvent(
Level.
INFO,
marker,
format,
arguments, null);
}
public void
info(
Marker marker,
String msg,
Throwable t) {
recordEvent(
Level.
INFO,
marker,
msg, null,
t);
}
public boolean
isWarnEnabled() {
return true;
}
public void
warn(
String msg) {
recordEvent(
Level.
WARN,
msg, null, null);
}
public void
warn(
String format,
Object arg) {
recordEvent(
Level.
WARN,
format, new
Object[] {
arg }, null);
}
public void
warn(
String format,
Object arg1,
Object arg2) {
recordEvent(
Level.
WARN,
format, new
Object[] {
arg1,
arg2 }, null);
}
public void
warn(
String format,
Object...
arguments) {
recordEvent(
Level.
WARN,
format,
arguments, null);
}
public void
warn(
String msg,
Throwable t) {
recordEvent(
Level.
WARN,
msg, null,
t);
}
public boolean
isWarnEnabled(
Marker marker) {
return true;
}
public void
warn(
Marker marker,
String msg) {
recordEvent(
Level.
WARN,
msg, null, null);
}
public void
warn(
Marker marker,
String format,
Object arg) {
recordEvent(
Level.
WARN,
format, new
Object[] {
arg }, null);
}
public void
warn(
Marker marker,
String format,
Object arg1,
Object arg2) {
recordEvent(
Level.
WARN,
marker,
format, new
Object[] {
arg1,
arg2 }, null);
}
public void
warn(
Marker marker,
String format,
Object...
arguments) {
recordEvent(
Level.
WARN,
marker,
format,
arguments, null);
}
public void
warn(
Marker marker,
String msg,
Throwable t) {
recordEvent(
Level.
WARN,
marker,
msg, null,
t);
}
public boolean
isErrorEnabled() {
return true;
}
public void
error(
String msg) {
recordEvent(
Level.
ERROR,
msg, null, null);
}
public void
error(
String format,
Object arg) {
recordEvent(
Level.
ERROR,
format, new
Object[] {
arg }, null);
}
public void
error(
String format,
Object arg1,
Object arg2) {
recordEvent(
Level.
ERROR,
format, new
Object[] {
arg1,
arg2 }, null);
}
public void
error(
String format,
Object...
arguments) {
recordEvent(
Level.
ERROR,
format,
arguments, null);
}
public void
error(
String msg,
Throwable t) {
recordEvent(
Level.
ERROR,
msg, null,
t);
}
public boolean
isErrorEnabled(
Marker marker) {
return true;
}
public void
error(
Marker marker,
String msg) {
recordEvent(
Level.
ERROR,
marker,
msg, null, null);
}
public void
error(
Marker marker,
String format,
Object arg) {
recordEvent(
Level.
ERROR,
marker,
format, new
Object[] {
arg }, null);
}
public void
error(
Marker marker,
String format,
Object arg1,
Object arg2) {
recordEvent(
Level.
ERROR,
marker,
format, new
Object[] {
arg1,
arg2 }, null);
}
public void
error(
Marker marker,
String format,
Object...
arguments) {
recordEvent(
Level.
ERROR,
marker,
format,
arguments, null);
}
public void
error(
Marker marker,
String msg,
Throwable t) {
recordEvent(
Level.
ERROR,
marker,
msg, null,
t);
}
}