package edu.ualberta.med.biobank.gui.common;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.core.runtime.ILog;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
/**
* Log into Eclipse RCP logs (see Logs view) and .logs file
*/
public class BgcLogger {
private static Map<String, BgcLogger> loggers = new HashMap<String, BgcLogger>();
private String name;
public BgcLogger(String name) {
this.name = name;
}
public static BgcLogger getLogger(String name) {
BgcLogger logger = loggers.get(name);
if (logger == null) {
logger = new BgcLogger(name);
loggers.put(name, logger);
}
return logger;
}
public void error(String message) {
error(message, null);
}
public void error(String message, Throwable e) {
addRcpLogStatus(IStatus.ERROR, message, e);
}
public void debug(String message) {
debug(message, null);
}
public void debug(String message, Throwable e) {
addRcpLogStatus(IStatus.INFO, message, e);
}
public void addRcpLogStatus(int severity, String message, Throwable e) {
ILog rcpLogger = BgcPlugin.getDefault().getLog();
IStatus status = new Status(severity, BgcPlugin.PLUGIN_ID, name + ": " //$NON-NLS-1$
+ message, e);
rcpLogger.log(status);
}
public void addRcpLogStatus(IStatus status) {
ILog rcpLogger = BgcPlugin.getDefault().getLog();
rcpLogger.log(status);
}
}