java-commons/commons-logger/src/main/java/io/gitlab/jfronny/commons/logger/DelegateLogger.java

40 lines
1.0 KiB
Java

package io.gitlab.jfronny.commons.logger;
import java.util.ResourceBundle;
/**
* A logger that delegates all calls to another logger.
*/
public abstract class DelegateLogger implements SystemLoggerPlus {
public static DelegateLogger create(System.Logger delegate) {
return new DelegateLogger() {
@Override
protected System.Logger getDelegate() {
return delegate;
}
};
}
protected abstract System.Logger getDelegate();
@Override
public String getName() {
return getDelegate().getName();
}
@Override
public boolean isLoggable(Level level) {
return getDelegate().isLoggable(level);
}
@Override
public void log(Level level, ResourceBundle resourceBundle, String s, Throwable throwable) {
getDelegate().log(level, resourceBundle, s, throwable);
}
@Override
public void log(Level level, ResourceBundle resourceBundle, String s, Object... objects) {
getDelegate().log(level, resourceBundle, s, objects);
}
}