// Static Interpreter Control Methods ///////////////////////////////////////////////////////////////
/** log a message with the current JavaScript sourceName/line */
- public static void log(Object o, Object message) { logJS(message); }
+ public static void log(Object o, Object message) { log(message); }
public static void log(Object message) { Log.echo(JS.getSourceName() + ":" + JS.getLine(), message); }
public static int getLine() {
/** message can be a String or a Throwable */
public static synchronized void echo(Object o, Object message) { log(o, message, ECHO); }
+ public static synchronized void diag(Object o, Object message) { log(o, message, DIAGNOSTIC); }
public static synchronized void debug(Object o, Object message) { log(o, message, DEBUG); }
public static synchronized void info(Object o, Object message) { log(o, message, INFO); }
public static synchronized void warn(Object o, Object message) { log(o, message, WARN); }
private static final int GRAY = 37;
private static String color(int color, boolean bright, String s) {
+ if (!Log.color) return s;
return
"" + ((char)27) + "[" + (bright?1:0) + ";" + color + "m" +
s +
private static synchronized void log(Object o, Object message, int level) {
if (firstMessage && !logDates) {
firstMessage = false;
- System.err.println("===========================================================================");
+ System.err.println(color(GREEN, false, "==========================================================================="));
String incolor = color ? "in " +
color(BLUE, true, "c") +
color(RED, true, "o") +
color(CYAN, true, "l") +
color(GREEN, true, "o") +
color(PURPLE, true, "r") + " " : "";
- log(Log.class, "Logging enabled at " + new java.util.Date() + " " + incolor);
+ diag(Log.class, "Logging enabled at " + new java.util.Date() + " " + incolor);
}
String classname;