63 lines
2.1 KiB
Java
63 lines
2.1 KiB
Java
|
|
package jxl.common;
|
||
|
|
|
||
|
|
import java.security.AccessControlException;
|
||
|
|
import jxl.common.log.LoggerName;
|
||
|
|
import jxl.common.log.SimpleLogger;
|
||
|
|
|
||
|
|
public abstract class Logger {
|
||
|
|
private static Logger logger = null;
|
||
|
|
|
||
|
|
public static final Logger getLogger(Class cl) {
|
||
|
|
if (logger == null)
|
||
|
|
initializeLogger();
|
||
|
|
return logger.getLoggerImpl(cl);
|
||
|
|
}
|
||
|
|
|
||
|
|
private static synchronized void initializeLogger() {
|
||
|
|
if (logger != null)
|
||
|
|
return;
|
||
|
|
String loggerName = LoggerName.NAME;
|
||
|
|
try {
|
||
|
|
loggerName = System.getProperty("logger");
|
||
|
|
if (loggerName == null)
|
||
|
|
loggerName = LoggerName.NAME;
|
||
|
|
logger = (Logger)Class.forName(loggerName).newInstance();
|
||
|
|
} catch (IllegalAccessException e) {
|
||
|
|
logger = new SimpleLogger();
|
||
|
|
logger.warn("Could not instantiate logger " + loggerName + " using default");
|
||
|
|
} catch (InstantiationException e) {
|
||
|
|
logger = new SimpleLogger();
|
||
|
|
logger.warn("Could not instantiate logger " + loggerName + " using default");
|
||
|
|
} catch (AccessControlException e) {
|
||
|
|
logger = new SimpleLogger();
|
||
|
|
logger.warn("Could not instantiate logger " + loggerName + " using default");
|
||
|
|
} catch (ClassNotFoundException e) {
|
||
|
|
logger = new SimpleLogger();
|
||
|
|
logger.warn("Could not instantiate logger " + loggerName + " using default");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public abstract void debug(Object paramObject);
|
||
|
|
|
||
|
|
public abstract void debug(Object paramObject, Throwable paramThrowable);
|
||
|
|
|
||
|
|
public abstract void error(Object paramObject);
|
||
|
|
|
||
|
|
public abstract void error(Object paramObject, Throwable paramThrowable);
|
||
|
|
|
||
|
|
public abstract void fatal(Object paramObject);
|
||
|
|
|
||
|
|
public abstract void fatal(Object paramObject, Throwable paramThrowable);
|
||
|
|
|
||
|
|
public abstract void info(Object paramObject);
|
||
|
|
|
||
|
|
public abstract void info(Object paramObject, Throwable paramThrowable);
|
||
|
|
|
||
|
|
public abstract void warn(Object paramObject);
|
||
|
|
|
||
|
|
public abstract void warn(Object paramObject, Throwable paramThrowable);
|
||
|
|
|
||
|
|
protected abstract Logger getLoggerImpl(Class paramClass);
|
||
|
|
|
||
|
|
public void setSuppressWarnings(boolean w) {}
|
||
|
|
}
|