
com.undefinedlabs.scope.logger.AbstractScopeLogger Maven / Gradle / Ivy
package com.undefinedlabs.scope.logger;
import com.undefinedlabs.scope.settings.ScopeSettings;
public abstract class AbstractScopeLogger implements ScopeLogger {
private final ScopeLoggerLevel loggerLevel;
AbstractScopeLogger(final ScopeSettings settings) {
this.loggerLevel = (ScopeLoggerLevel) settings.getSetting(ScopeSettings.SCOPE_LOGGER_LEVEL);
}
protected abstract void log(String message);
@Override
public void error(String message) {
if (loggerLevel.ordinal() >= ScopeLoggerLevel.ERROR.ordinal()) {
this.log(ERROR.concat(message));
}
}
@Override
public void warn(String message) {
if (loggerLevel.ordinal() >= ScopeLoggerLevel.WARN.ordinal()) {
this.log(WARN.concat(message));
}
}
@Override
public void info(String message) {
if (loggerLevel.ordinal() >= ScopeLoggerLevel.INFO.ordinal()) {
this.log(INFO.concat(message));
}
}
@Override
public void debug(String message) {
if (loggerLevel.ordinal() >= ScopeLoggerLevel.DEBUG.ordinal()) {
this.log(DEBUG.concat(message));
}
}
@Override
public void trace(String message) {
if (loggerLevel.ordinal() >= ScopeLoggerLevel.TRACE.ordinal()) {
this.log(TRACE.concat(message));
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy