All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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