30 lines
956 B
Haxe
Executable File
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;}
|
|
}
|
|
}
|
|
} |