package org.radargun.logging;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/**
* @author Radim Vansa <rvansa@redhat.com>
*/
public final class Log4j2Log implements Log {
private transient Logger logger;
private Class<?> clazz;
private String className;
public Log4j2Log(Class<?> clazz) {
this.clazz = clazz;
}
public Log4j2Log(String className) {
this.className = className;
}
private Logger getLogger() {
if (logger == null) {
if (clazz != null) {
logger = LogManager.getLogger(clazz);
} else if (className != null) {
logger = LogManager.getLogger(className);
}
}
return logger;
}
@Override
public final void trace(String message) {
getLogger().trace(message);
}
@Override
public final void trace(String message, Throwable throwable) {
getLogger().trace(message, throwable);
}
@Override
public final void tracef(String format, Object... args) {
Logger logger = getLogger();
if (logger.isTraceEnabled()) {
logger.trace(String.format(format, args));
}
}
@Override
public void tracef(Throwable throwable, String format, Object... args) {
Logger logger = getLogger();
if (logger.isTraceEnabled()) logger.trace(String.format(format, args), throwable);
}
@Override
public final boolean isTraceEnabled() {
return getLogger().isTraceEnabled();
}
@Override
public final void debug(String message) {
getLogger().debug(message);
}
@Override
public final void debug(String message, Throwable throwable) {
getLogger().debug(message, throwable);
}
@Override
public void debugf(String format, Object... args) {
Logger logger = getLogger();
if (logger.isDebugEnabled()) {
logger.debug(String.format(format, args));
}
}
@Override
public void debugf(Throwable throwable, String format, Object... args) {
Logger logger = getLogger();
if (logger.isDebugEnabled()) logger.debug(String.format(format, args), throwable);
}
@Override
public final boolean isDebugEnabled() {
return getLogger().isDebugEnabled();
}
@Override
public final void info(String message) {
getLogger().info(message);
}
@Override
public final void info(String message, Throwable throwable) {
getLogger().info(message, throwable);
}
@Override
public void infof(String format, Object... args) {
Logger logger = getLogger();
if (logger.isInfoEnabled()) {
logger.info(String.format(format, args));
}
}
@Override
public void infof(Throwable throwable, String format, Object... args) {
Logger logger = getLogger();
if (logger.isInfoEnabled()) logger.info(String.format(format, args), throwable);
}
@Override
public final boolean isInfoEnabled() {
return getLogger().isInfoEnabled();
}
@Override
public final void warn(String message) {
getLogger().warn(message);
}
@Override
public final void warn(String message, Throwable throwable) {
getLogger().warn(message, throwable);
}
@Override
public void warnf(String format, Object... args) {
Logger logger = getLogger();
if (logger.isWarnEnabled()) {
logger.warn(String.format(format, args));
}
}
@Override
public void warnf(Throwable throwable, String format, Object... args) {
Logger logger = getLogger();
if (logger.isWarnEnabled()) logger.warn(String.format(format, args), throwable);
}
@Override
public final boolean isWarnEnabled() {
return getLogger().isWarnEnabled();
}
@Override
public final void error(String message) {
getLogger().error(message);
}
@Override
public final void error(String message, Throwable throwable) {
getLogger().error(message, throwable);
}
@Override
public void errorf(String format, Object... args) {
Logger logger = getLogger();
if (logger.isErrorEnabled()) {
logger.error(String.format(format, args));
}
}
@Override
public void errorf(Throwable throwable, String format, Object... args) {
Logger logger = getLogger();
if (logger.isErrorEnabled()) logger.error(String.format(format, args), throwable);
}
@Override
public final boolean isErrorEnabled() {
return getLogger().isErrorEnabled();
}
@Override
public final void fatal(String message) {
getLogger().fatal(message);
}
@Override
public final void fatal(String message, Throwable throwable) {
getLogger().fatal(message, throwable);
}
@Override
public void fatalf(String format, Object... args) {
Logger logger = getLogger();
if (logger.isFatalEnabled()) {
logger.fatal(String.format(format, args));
}
}
@Override
public void fatalf(Throwable throwable, String format, Object... args) {
Logger logger = getLogger();
if (logger.isFatalEnabled()) logger.fatal(String.format(format, args), throwable);
}
@Override
public final boolean isFatalEnabled() {
return getLogger().isFatalEnabled();
}
@Override
public Level getLevel() {
throw new UnsupportedOperationException();
}
@Override
public void setLevel(Level level) {
throw new UnsupportedOperationException();
}
}