64 lines
2.1 KiB
Java
64 lines
2.1 KiB
Java
package common;
|
|
|
|
import common.log.LoggerName;
|
|
import common.log.SimpleLogger;
|
|
import java.security.AccessControlException;
|
|
|
|
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 = (Logger)new SimpleLogger();
|
|
logger.warn("Could not instantiate logger " + loggerName + " using default");
|
|
} catch (InstantiationException e) {
|
|
logger = (Logger)new SimpleLogger();
|
|
logger.warn("Could not instantiate logger " + loggerName + " using default");
|
|
} catch (AccessControlException e) {
|
|
logger = (Logger)new SimpleLogger();
|
|
logger.warn("Could not instantiate logger " + loggerName + " using default");
|
|
} catch (ClassNotFoundException e) {
|
|
logger = (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) {}
|
|
}
|