118 lines
2.3 KiB
Haxe
118 lines
2.3 KiB
Haxe
package lime.utils;
|
|
|
|
import haxe.PosInfos;
|
|
import funkin.backend.system.Logs as FunkinLogs;
|
|
|
|
#if !lime_debug
|
|
@:fileXml('tags="haxe,release"')
|
|
@:noDebug
|
|
#end
|
|
class Log
|
|
{
|
|
public static var level:LogLevel;
|
|
|
|
public static function debug(message:Dynamic, ?info:PosInfos):Void
|
|
{
|
|
if (level >= LogLevel.DEBUG)
|
|
{
|
|
#if js
|
|
untyped __js__("console").debug("[" + info.className + "] " + message);
|
|
#else
|
|
println("[" + info.className + "] " + Std.string(message));
|
|
#end
|
|
|
|
}
|
|
}
|
|
|
|
public static function error(message:Dynamic, ?info:PosInfos):Void
|
|
{
|
|
if (level >= LogLevel.ERROR)
|
|
{
|
|
var message = '[${info.className}] $message';
|
|
|
|
FunkinLogs.trace(message, ERROR, RED);
|
|
}
|
|
}
|
|
|
|
public static function info(message:Dynamic, ?info:PosInfos):Void
|
|
{
|
|
if (level >= LogLevel.INFO)
|
|
FunkinLogs.trace('[${info.className}] $message', INFO, RED);
|
|
}
|
|
|
|
public static inline function print(message:Dynamic):Void
|
|
{
|
|
#if sys
|
|
Sys.print(Std.string(message));
|
|
#elseif flash
|
|
untyped __global__["trace"](Std.string(message));
|
|
#elseif js
|
|
untyped __js__("console").log(message);
|
|
#else
|
|
trace(message);
|
|
#end
|
|
}
|
|
|
|
public static inline function println(message:Dynamic):Void
|
|
{
|
|
#if sys
|
|
Sys.println(Std.string(message));
|
|
#elseif flash
|
|
untyped __global__["trace"](Std.string(message));
|
|
#elseif js
|
|
untyped __js__("console").log(message);
|
|
#else
|
|
trace(Std.string(message));
|
|
#end
|
|
}
|
|
|
|
public static function verbose(message:Dynamic, ?info:PosInfos):Void
|
|
{
|
|
if (level >= LogLevel.VERBOSE)
|
|
FunkinLogs.trace('[${info.className}] $message', VERBOSE);
|
|
}
|
|
|
|
public static function warn(message:Dynamic, ?info:PosInfos):Void
|
|
{
|
|
if (level >= LogLevel.WARN)
|
|
{
|
|
FunkinLogs.trace('[${info.className}] $message', WARNING, YELLOW);
|
|
}
|
|
}
|
|
|
|
private static function __init__():Void
|
|
{
|
|
#if no_traces
|
|
level = NONE;
|
|
#elseif verbose
|
|
level = VERBOSE;
|
|
#else
|
|
#if sys
|
|
var args = Sys.args();
|
|
if (args.indexOf("-v") > -1 || args.indexOf("-verbose") > -1)
|
|
{
|
|
level = VERBOSE;
|
|
}
|
|
else
|
|
#end
|
|
{
|
|
#if debug
|
|
level = DEBUG;
|
|
#else
|
|
level = INFO;
|
|
#end
|
|
}
|
|
#end
|
|
|
|
#if js
|
|
if (untyped __js__("typeof console") == "undefined")
|
|
{
|
|
untyped __js__("console = {}");
|
|
}
|
|
if (untyped __js__("console").log == null)
|
|
{
|
|
untyped __js__("console").log = function() {};
|
|
}
|
|
#end
|
|
}
|
|
} |