package kernel; import util.Debug; import kernel.ui.WindowContext; import kernel.ui.WindowManager; import lib.TermWriteable; import lib.TermIO; /** Log messages to specified output. **/ class Log { private static final context:WindowContext = WindowManager.instance.createNewContext(); private static var writer:TermIO = new TermIO(context); private static function setMainoutout(newOutput: TermWriteable) { writer = new TermIO(newOutput); } public static function info(msg: Dynamic, ?pos:haxe.PosInfos){ writer.writeLn("[INFO]["+pos.className+"]: "+Std.string(msg)); #if webconsole Debug.printWeb("[INFO]["+pos.className+"]: "+Std.string(msg)); #end } public static function warn(msg: Dynamic, ?pos:haxe.PosInfos){ writer.writeLn("[WARN]["+pos.className+"]: "+Std.string(msg),Yellow); #if webconsole Debug.printWeb("[WARN]["+pos.className+"]: "+Std.string(msg)); #end } public static function error(msg: Dynamic,?pos:haxe.PosInfos) { writer.writeLn("[ERRO]["+pos.className+"]: "+Std.string(msg),Red); #if webconsole Debug.printWeb("[ERRO]["+pos.className+"]: "+Std.string(msg)); #end } public static function debug(msg: Dynamic,?pos:haxe.PosInfos) { writer.writeLn("[DEBG]["+pos.className+"]: "+Std.string(msg),Gray); #if webconsole Debug.printWeb("[DEBG]["+pos.className+"]: "+Std.string(msg)); #end } public static function moveToOutput(addr: String) { WindowManager.instance.focusContextToOutput(context,addr); } }