Files
haxework/haxework/log/JSLogger.hx
2014-04-24 14:22:44 +04:00

30 lines
956 B
Haxe
Executable File

package haxework.log;
import haxework.log.ILogger.LogLevel;
import flash.external.ExternalInterface;
import haxework.log.BaseLogger;
class JSLogger extends BaseLogger {
private var available:Bool;
public function new() {
super();
available = ExternalInterface.available;
}
override public function e(tag:String, message:String, error:Dynamic = null, p:haxe.PosInfos = null):Void {
if (available) {
var text:String = buildString(LogLevel.ERROR, tag, message, error);
var s:String = p.fileName + ":" + p.lineNumber + ":" + text + "\n";
try {ExternalInterface.call("console.error", s);} catch (error:Dynamic) {available = false;}
}
}
override private function write(text:String, ?p:haxe.PosInfos):Void {
if (available) {
var s:String = p.fileName + ":" + p.lineNumber + ":" + text + "\n";
try {ExternalInterface.call("console.log", s);} catch (error:Dynamic) {available = false;}
}
}
}