added loggers

This commit is contained in:
2013-11-18 15:32:12 +04:00
parent 79ae986e91
commit 1fabb1be06
5 changed files with 93 additions and 6 deletions

29
L.hx Executable file
View File

@@ -0,0 +1,29 @@
package;
import haxework.log.ILogger;
class L {
private static var loggers:Array<ILogger> = new Array<ILogger>();
public static function push(logger:ILogger):Void {
loggers.push(logger);
}
public static function d(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void {
//trace(p);
for (logger in loggers) logger.d(tag, message, error, p);
}
public static function i(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void {
for (logger in loggers) logger.i(tag, message, error, p);
}
public static function w(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void {
for (logger in loggers) logger.w(tag, message, error, p);
}
public static function e(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void {
for (logger in loggers) logger.e(tag, message, error, p);
}
}

View File

@@ -1,11 +1,11 @@
{
"name": "haxework",
"url" : "git@bitbucket.org/shmyga/haxework.git",
"license": "",
"tags": [],
"description": "",
"url" : "https://bitbucket.org/shmyga/haxework.git",
"license": "BSD",
"tags": ["flash"],
"description": "Framework.",
"version": "0.0.0",
"releasenote": "Updated from git.",
"contributors": [],
"releasenote": "First release.",
"contributors": ["shmyga"],
"dependencies": {}
}

31
haxework/log/BaseLogger.hx Executable file
View File

@@ -0,0 +1,31 @@
package haxework.log;
import haxework.log.ILogger.LogLevel;
class BaseLogger implements ILogger {
public function new() {}
public function log(level:LogLevel, tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void {
var s:String = "[" + level + "] " + tag + " - " + message + (error == null ? "" : " {" + Std.string(error) + "}");
write(s, p);
}
private function write(text:String, ?p:haxe.PosInfos):Void {}
public function d(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void {
log(LogLevel.DEBUG, tag, message, error, p);
}
public function i(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void {
log(LogLevel.INFO, tag, message, error, p);
}
public function w(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void {
log(LogLevel.WARNING, tag, message, error, p);
}
public function e(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void {
log(LogLevel.ERROR, tag, message, error, p);
}
}

13
haxework/log/ILogger.hx Executable file
View File

@@ -0,0 +1,13 @@
package haxework.log;
enum LogLevel {
DEBUG; INFO; WARNING; ERROR;
}
interface ILogger {
public function log(level:LogLevel, tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void;
public function d(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void;
public function i(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void;
public function w(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void;
public function e(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void;
}

14
haxework/log/TraceLogger.hx Executable file
View File

@@ -0,0 +1,14 @@
package haxework.log;
import haxework.log.ILogger.LogLevel;
class TraceLogger extends BaseLogger {
public function new() {
super();
}
override private function write(text:String, ?p:haxe.PosInfos):Void {
haxe.Log.trace(text, p);
}
}