//#condition DebugLevel != "off" /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.albite.util; /** * * @author albus */ public abstract class Logger { private final Logger logger; public Logger() { logger = null; } public Logger(final Logger logger) { this.logger = logger; } public void log(final String message) { log(message, false); } public void logError(final String message) { log(message, true); } private void log(final String message, final boolean error) { logInternally(message, error); if (logger != null) { logger.log(message, error); } } public void log(final int number) { log(Integer.toString(number)); } public void log(final double number) { log(Double.toString(number)); } public void log(final boolean bool) { log(bool ? "true" : "false"); } public void log(final Throwable t) { logInternally(t); if (logger != null) { logger.log(t); } } protected abstract void logInternally(String message, boolean error); protected abstract void logInternally(Throwable t); }