package edu.kit.aifb.cumulus.log;
import org.slf4j.Logger;
/**
* CumulusRDF Logger.
* A simple SLF4j wrapper that avoids "if" statements like
*
* <pre>
* if (logger.isDebugEnabled(...))
* </pre>
*
* In addition provides some optimization for string / arguments
* concatenation.
*
* @author Andrea Gazzarini
* @since 1.1
*/
public class Log {
private final Logger _logger;
/**
* Builds a new Log wrapper with a given logger.
*
* @param logger the {@link Logger} implementation.
*/
public Log(final Logger logger) {
_logger = logger;
}
/**
* Logs out the given message with INFO level.
*
* @param message the log message.
*/
public void info(final String message) {
_logger.info(message);
}
/**
* Logs out the given message with INFO level.
*
* @param message the log message.
* @param values values that will replace the message placeholders.
*/
public void info(final String message, final Object ... values) {
_logger.info(String.format(message, values));
}
/**
* Logs out the given message with DEBUG level.
*
* @param message the log message.
*/
public void debug(final String message) {
_logger.debug(message);
}
/**
* Logs out the given message with DEBUG level.
*
* @param message the log message.
* @param values values that will replace the message placeholders.
*/
public void debug(final String message, final Object ... values) {
if (_logger.isDebugEnabled()) {
_logger.debug(String.format(message, values));
}
}
/**
* Logs out the given message with ERROR level.
*
* @param message the log message.
* @param values values that will replace the message placeholders.
*/
public void error(final String message, final Object ... values) {
_logger.error(String.format(message, values));
}
/**
* Logs out the given message with ERROR level.
*
* @param message the log message.
* @param cause the underlying cause.
* @param values values that will replace the message placeholders.
*/
public void error(final String message, final Throwable cause, final Object ... values) {
_logger.error(String.format(message, values));
}
/**
* Logs out the given message with ERROR level.
*
* @param message the log message.
* @param cause the underlying cause.
*/
public void error(final String message, final Throwable cause) {
_logger.error(message, cause);
}
/**
* Logs out the given message with WARNING level.
*
* @param message the log message.
*/
public void warning(final String message) {
_logger.warn(message);
}
/**
* Logs out the given message with WARNING level.
*
* @param message the log message.
* @param values values that will replace the message placeholders.
*/
public void warning(final String message, final Object ... values) {
_logger.warn(String.format(message, values));
}
/**
* Returns true if the DEBUG level has been enabled for this logger.
*
* @return true if the DEBUG level has been enabled for this logger.
*/
public boolean isDebugEnabled() {
return _logger.isDebugEnabled();
}
}