不确定如何将fatal
日志消息类型映射到 SL4J,但这里是有效的代码片段:
import lombok.extern.slf4j.Slf4j;
import org.apache.avalon.framework.logger.Logger;
@Slf4j
public class SL4JLoggerAdapter implements Logger {
public static final int LEVEL_DEBUG = 0;
public static final int LEVEL_INFO = 1;
public static final int LEVEL_WARN = 2;
public static final int LEVEL_ERROR = 3;
public static final int LEVEL_FATAL = 4;
public static final int LEVEL_DISABLED = 5;
private final int m_logLevel;
public SL4JLoggerAdapter( final int logLevel )
{
m_logLevel = logLevel;
}
@Override
public void debug(String message) {
log.debug(message);
}
@Override
public void debug(String message, Throwable throwable) {
log.debug(message, throwable);
}
@Override
public boolean isDebugEnabled() {
return m_logLevel == LEVEL_DEBUG;
}
@Override
public void info(String message) {
log.info(message);
}
@Override
public void info(String message, Throwable throwable) {
log.info(message, throwable);
}
@Override
public boolean isInfoEnabled() {
return m_logLevel == LEVEL_INFO;
}
@Override
public void warn(String message) {
log.warn(message);
}
@Override
public void warn(String message, Throwable throwable) {
log.warn(message, throwable);
}
@Override
public boolean isWarnEnabled() {
return m_logLevel == LEVEL_WARN;
}
@Override
public void error(String message) {
log.error(message);
}
@Override
public void error(String message, Throwable throwable) {
log.error(message, throwable);
}
@Override
public boolean isErrorEnabled() {
return m_logLevel == LEVEL_ERROR;
}
@Override
public void fatalError(String message) {
log.trace(message);
}
@Override
public void fatalError(String message, Throwable throwable) {
log.trace(message, throwable);
}
@Override
public boolean isFatalErrorEnabled() {
return m_logLevel == LEVEL_FATAL;
}
@Override
public Logger getChildLogger(String name) {
return this;
}
}