2
我創建調試/日誌效用函數,這是我通過導入類和調用AS3調用帶出「新」全局函數或者具有靜態方法
new Log(params);
或者我訪問改變功能爲靜態的,其重命名爲It
,
那麼我可以通過Log.It(params)
我不知道叫它如果有可能設定,讓我可以簡單地撥打Log(params)
類似於trace
命令?
功能:
package
{
public class Log
{
/** Gets the name of the function which is calling */
public function Log(prefix:String = "", suffix:String = "", params:* = null):void
{
var error:Error = new Error();
var stackTrace:String = error.getStackTrace(); // entire stack trace
var startIndex:int = stackTrace.indexOf("at ", stackTrace.indexOf("at ") + 1); //start of second line
var endIndex:int = stackTrace.indexOf("()", startIndex); // end of function name
var lastLine:String = stackTrace.substring(startIndex + 3, endIndex);
var functionSeperatorIndex:int = lastLine.indexOf('/');
var ClassSeperatorIndex:int = lastLine.indexOf(':');
var objectName:String = lastLine.substring(ClassSeperatorIndex+2, functionSeperatorIndex);
var functionName:String = lastLine.substring(functionSeperatorIndex + 1, lastLine.length);
//TODO: Loop through params
trace(prefix +" " + "[" + objectName + "]" + " > " + functionName + " " + suffix);
//TODO: Log to Array
//TODO: Dispatch Event
}
}
}
謝謝,那正是我想要做的。 – davivid