package util.log; import java.util.NoSuchElementException; import java.util.Enumeration; import string.StrUtil; import util.list.List; public class Log { static private boolean console = false; static private boolean recipients = false; static private int defaultPriority = 0; static private List theRecipients = new List(); static final int L_INF = 0; static final int L_DBG = 1; static final int L_WRN = 2; static final int L_ERR = 3; static private int defaultLevel = L_INF; static private final String logLabels[] = { "", "(DEP) ", "(AVS) ", "(ERR) " }; //////////////////////////////// // Metodos obsoletos (substituir por info) public static void log(String msg, int priority, int level) { msg = logLabels[level] + msg; if (recipients) for (Enumeration enum = theRecipients.elements(); enum.hasMoreElements(); ) { LogRecipient rec = (LogRecipient) enum.nextElement(); rec.forward(msg, priority); } if (console) System.out.println(StrUtil.getDate() + " " + msg); } public static void log(String msg, int priority) { log(msg, priority, defaultLevel); } public static void log(String msg) { log(msg, defaultPriority); } // ///////////////////////////////// public static void info(String msg, int priority) { log(msg, priority, L_INF); } public static void info(String msg, int priority, boolean dbg) { if (dbg) info(msg, priority); } public static void info(String msg) { info(msg, defaultPriority); } public static void info(String msg, boolean dbg) { if (dbg) info(msg); } public static void debug(String msg, int priority) { log(msg, priority, L_DBG); } public static void debug(String msg, int priority, boolean dbg) { if (dbg) debug(msg, priority); } public static void debug(String msg) { debug(msg, defaultPriority); } public static void debug(String msg, boolean dbg) { if (dbg) debug(msg); } public static void warn(String msg, int priority) { log(msg, priority, L_WRN); } public static void warn(String msg, int priority, boolean dbg) { if (dbg) warn(msg, priority); } public static void warn(String msg) { warn(msg, defaultPriority); } public static void warn(String msg, boolean dbg) { if (dbg) warn(msg); } public static void err(String msg, int priority) { log(msg, priority, L_ERR); } public static void err(String msg, int priority, boolean dbg) { if (dbg) err(msg, priority); } public static void err(String msg) { err(msg, defaultPriority); } public static void err(String msg, boolean dbg) { if (dbg) err(msg); } public static void abort(String msg, int priority) { err(msg, priority); info("Abortando.", priority); System.exit(1); } public static void abort(String msg, int priority, boolean dbg) { if (dbg) abort(msg, priority); } public static void abort(String msg) { abort(msg, defaultPriority); } public static void abort(String msg, boolean dbg) { if (dbg) abort(msg); } public static void insert(LogRecipient rec) { theRecipients.insert(rec); } public static void remove(LogRecipient rec) throws NoSuchElementException { theRecipients.remove(rec); } public static void turnConsoleOn(boolean b) { console = b; } public static void turnRecipientsOn(boolean b) { recipients = b; } public static void setDefaultPriority(int priority) { defaultPriority = priority; } }