package org.lemsml.jlems.io.logging;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
import java.util.logging.StreamHandler;
import org.lemsml.jlems.core.logging.E;
import org.lemsml.jlems.core.logging.MessageHandler;
import org.lemsml.jlems.core.logging.MessageType;
public final class DefaultLogger implements MessageHandler {
private static final Logger errorLogger = Logger.getLogger("errors");
private static final Logger infoLogger = Logger.getLogger("info");
private static DefaultLogger instance;
public static void initialize() {
if (instance == null) {
infoLogger.setUseParentHandlers(false);
SimpleFormatter fmt = new OneLineFormatter();
StreamHandler sh = new StreamHandler(System.out, fmt);
infoLogger.addHandler(sh);
instance = new DefaultLogger();
E.setMessageHandler(instance);
}
}
private DefaultLogger() {
}
public void msg(MessageType type, String txt) {
String fmsg = " (" + type.name() + ") " + txt;
if (type == MessageType.ERROR ||
type == MessageType.COREERROR ||
type == MessageType.FATAL) {
errorLogger.severe(fmsg);
} else if (type == MessageType.WARNING) {
infoLogger.warning(fmsg);
} else {
infoLogger.info(fmsg);
}
}
public void msg(final String txt) {
msg(MessageType.LOG, txt);
}
}