source("BAGSOutput.bsh"); TRACE_MODE = 0; DEBUG_MODE= 10; INFO_MODE = 20; WARN_MODE = 30; ERROR_MODE = 40; FATAL_MODE = 50; Logger () { game; threshold = DEBUG_MODE; levels = new HashMap(); levels.put(TRACE_MODE, "TRACE"); levels.put(DEBUG_MODE, "DEBUG"); levels.put(INFO_MODE, "INFO"); levels.put(WARN_MODE, "WARN"); levels.put(ERROR_MODE, "ERROR"); levels.put(FATAL_MODE, "FATAL"); trace(msg) { log(TRACE_MODE, msg); } debug(msg) { log(DEBUG_MODE, msg); } info(msg) { log(INFO_MODE, msg); } warn(msg) { log(WARN_MODE, msg); } error(msg) { log(ERROR_MODE, msg); } fatal(msg) { log(FATAL_MODE, msg); } log(mode, msg) { if (mode >= threshold) { logMsg = levels.get(mode) + "::[" + this.caller.caller.super.namespace.getName() + "." + this.caller.caller.namespace.getName() + "]::==>" + msg; if (debugInGame.equalsIgnoreCase(TRUE)) { game.output.insertStyledString(logMsg, STYLE_DEBUG); game.output.insertLineBreak(); } else { print(logMsg); } } } return this; } /** * Overridden constructor. */ Logger(defaultThreshold) { l = Logger(); l.threshold = defaultThreshold; return l; } log = Logger();