📄 log.as.svn-base
字号:
package com.blitzagency.xray.logger
{
import com.blitzagency.xray.logger.XrayLogger;
import com.blitzagency.xray.logger.util.ObjectTools;
import com.blitzagency.xray.logger.Debug;
public class Log
{
private var message:String;
private var dump:Object;
private var level:Number;
private var classPackage:String;
private var caller:String = "";
/*
* I generate an error in the constructor as to force the debugger to give me the stackTrace
* Supposedly, this won't work in the regular player, and as of 8/28/2006, I haven't tried it ;)
*
*/
public function Log(p_message:String, p_dump:Object, p_level:Number, ...rest)
{
var err:LogError;
var nullArray:Array;
try
{
nullArray.push("bogus");
}
catch(e:Error)
{
err = new LogError("log");
}
finally
{
if(err.hasOwnProperty("getStackTrace"))
{
var str:String = err.getStackTrace();
//Debug.trace(err.getStackTrace());
setCaller(resolveCaller(str));
}else
{
setCaller("");
}
setMessage(p_message);
setDump(p_dump);
setLevel(p_level);
setClassPackage(p_dump);
}
}
public function setMessage(p_message:String):void
{
message = p_message;
}
public function setDump(p_dump:Object):void
{
dump = p_dump;
}
public function setLevel(p_level:Number):void
{
level = p_level;
}
public function getMessage():String
{
return message;
}
public function getDump():Object
{
return dump;
}
public function getLevel():Number
{
return level;
}
public function getClassPackage():String
{
return classPackage;
}
public function setClassPackage(obj:Object):void
{
//classPackage = ObjectTools.getFullClassPath(obj);
classPackage = ObjectTools.getImmediateClassPath(obj);
}
private function resolveCaller(str:String):String
{
var ary:Array = [];
//Debug.trace("resolveCaller", str);
try
{
str = str.split("\n").join("");
ary = str.split(" at ");
str = ary[3];
}catch(e:Error)
{
}finally
{
str = "";
}
return str;
}
public function setCaller(p_caller:String):void
{
caller = p_caller;
}
public function getCaller():String
{
return caller;
}
}
}
class LogError extends Error
{
public function LogError(message:String)
{
// constructor
super(message);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -