package me.gnat008.perworldinventory;
import java.util.logging.Logger;
/**
* Static logger for PerWorldInventory.
*/
public final class ConsoleLogger {
private static Logger logger;
private static boolean useDebug;
private ConsoleLogger() {
}
public static void setLogger(Logger logger) {
ConsoleLogger.logger = logger;
}
public static void setUseDebug(boolean useDebug) {
ConsoleLogger.useDebug = useDebug;
}
public static void severe(String message) {
logger.severe(message);
}
public static void severe(String message, Throwable cause) {
logger.severe(message + " " + formatThrowable(cause));
cause.printStackTrace();
}
public static void warning(String message) {
logger.warning(message);
}
public static void warning(String message, Throwable cause) {
logger.warning(message + " " + formatThrowable(cause));
cause.printStackTrace();
}
public static void info(String message) {
logger.info(message);
}
public static void info(String message, Throwable cause) {
logger.info(message + " " + formatThrowable(cause));
cause.printStackTrace();
}
public static void debug(String message) {
if (useDebug) {
logger.info("[DEBUG] " + message);
}
}
public static void debug(String message, Throwable cause) {
if (useDebug) {
debug(message + " " + formatThrowable(cause));
cause.printStackTrace();
}
}
private static String formatThrowable(Throwable throwable) {
return "[" + throwable.getClass().getSimpleName() + "] " + throwable.getMessage();
}
}