-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEXT_CONSOLE.as
37 lines (28 loc) · 953 Bytes
/
EXT_CONSOLE.as
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package {
import DEBUGImpl;
public var EXT_CONSOLE: Object = {
log: function (...args) {
if(CONFIG::EXTERNAL_CONSOLE){
var stackTrace: String = new Error().getStackTrace();
var stackTraceLines: Array = stackTrace.split("\n");
var callerLine: String = stackTraceLines[2];
var classNameMatchResult: Array = callerLine.match(/(?<=\[).+?(?=\])/);
var info: String = "";
try {
var className: String = classNameMatchResult[0];
var i:int = className.lastIndexOf("\\") + 1;
var l:int = className.length;
info = className.substring(i, l);
} catch (e) {
info = "(Error Determining Stack Location} ";
}
if (info == "(Error Determining Stack Location} ") {
var lineNumberMatchResult: Array = callerLine.match(/(?<=\:)\d+(?=\])/);
var lineNumber: int = lineNumberMatchResult ? parseInt(lineNumberMatchResult[0]) : 0;
info += lineNumber;
}
DEBUGImpl.send(args, info);
}
}
};
}