package org.slf4j.impl;
import org.slf4j.helpers.MarkerIgnoringBase;
import org.slf4j.impl.repository.Slf4jLoggerRepository;
import com.google.code.microlog4android.Level;
import com.google.code.microlog4android.Logger;
/**
*
* @author Jarle Hansen (hansjar@gmail.com)
*
*/
public class MicrologLoggerAdapter extends MarkerIgnoringBase {
private static final long serialVersionUID = 3934653965724860568L;
// This is deserialized by the readResolve method in the NamedLoggerBase class
private transient final Logger logger;
public MicrologLoggerAdapter(final Logger logger) {
this.logger = logger;
this.name = logger.getName();
logger.setCommonRepository(Slf4jLoggerRepository.INSTANCE);
}
public MicrologLoggerAdapter(final String name) {
logger = new Logger(name, Slf4jLoggerRepository.INSTANCE);
this.name = name;
}
public Logger getMicrologLogger() {
return logger;
}
public String getName() {
return logger.getName();
}
public boolean isTraceEnabled() {
return isLoggerEnabled(Level.TRACE);
}
public void trace(final String msg) {
logger.trace(msg);
}
public void trace(final String format, final Object param1) {
// TODO trace format + object
throw new UnsupportedOperationException("trace(String, Object) is not implemented yet");
}
public void trace(final String format, final Object param1, final Object param2) {
// TODO trace format + multiple objects
throw new UnsupportedOperationException("trace(String, Object, Object) is not implemented yet");
}
public void trace(final String format, final Object[] argArray) {
// TODO trace format + object array
throw new UnsupportedOperationException("trace(String, Object[]) is not implemented yet");
}
public void trace(final String msg, final Throwable t) {
logger.trace(msg, t);
}
public boolean isDebugEnabled() {
return isLoggerEnabled(Level.DEBUG);
}
public void debug(final String msg) {
logger.debug(msg);
}
public void debug(final String format, final Object arg1) {
// TODO debug format + object
throw new UnsupportedOperationException("debug(String, Object) is not implemented yet");
}
public void debug(final String format, final Object param1, final Object param2) {
// TODO debug format + multiple objects
throw new UnsupportedOperationException("debug(String, Object, Object) is not implemented yet");
}
public void debug(final String format, final Object[] argArray) {
// TODO debug format + object array
throw new UnsupportedOperationException("debug(String, Object[]) is not implemented yet");
}
public void debug(final String msg, final Throwable t) {
logger.debug(msg, t);
}
public boolean isInfoEnabled() {
return isLoggerEnabled(Level.INFO);
}
public void info(final String msg) {
logger.info(msg);
}
public void info(final String format, final Object arg) {
// TODO info format + object
throw new UnsupportedOperationException("info(String, Object) is not implemented yet");
}
public void info(final String format, final Object arg1, final Object arg2) {
// TODO info format + multiple objects
throw new UnsupportedOperationException("info(String, Object, Object) is not implemented yet");
}
public void info(final String format, final Object[] argArray) {
// TODO info format + object array
throw new UnsupportedOperationException("info(String, Object[]) is not implemented yet");
}
public void info(final String msg, final Throwable t) {
logger.info(msg, t);
}
public boolean isWarnEnabled() {
return true; // TODO why is there no isWarnEnabled in the microlog logger?
}
public void warn(final String msg) {
logger.warn(msg);
}
public void warn(final String format, final Object arg) {
// TODO warn format + object
throw new UnsupportedOperationException("warn(String, Object) is not implemented yet");
}
public void warn(final String format, final Object arg1, final Object arg2) {
// TODO warn format + multiple objects
throw new UnsupportedOperationException("warn(String, Object, Object) is not implemented yet");
}
public void warn(final String format, final Object[] argArray) {
// TODO warn format + object array
}
public void warn(final String msg, final Throwable t) {
logger.warn(msg, t);
}
public boolean isErrorEnabled() {
return true; // why is there no isErrorEnabled in the microlog logger?
}
public void error(final String msg) {
logger.error(msg);
}
public void error(final String format, final Object arg) {
// TODO error format + object
throw new UnsupportedOperationException("error(String, Object) is not implemented yet");
}
public void error(final String format, final Object arg1, final Object arg2) {
// TODO error format + multiple objects
throw new UnsupportedOperationException("error(String, Object, Object) is not implemented yet");
}
public void error(final String format, final Object[] argArray) {
// TODO error format + object array
throw new UnsupportedOperationException("error(String, Object[]) is not implemented yet");
}
public void error(final String msg, final Throwable t) {
logger.error(msg, t);
}
private boolean isLoggerEnabled(final Level level) {
return logger.getEffectiveLevel().toInt() <= level.toInt();
}
}