-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
28 lines (25 loc) · 831 Bytes
/
index.js
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
Object.defineProperty(global, '__stack', {
get: function(){
var orig = Error.prepareStackTrace;
Error.prepareStackTrace = function(_, stack){ return stack; };
var err = new Error;
Error.captureStackTrace(err, arguments.callee);
var stack = err.stack;
Error.prepareStackTrace = orig;
return stack;
}
});
Object.defineProperty(global, '__line', {
get: function(){
return [__stack[2].getFileName().split('\\').pop().split('/').pop(),__stack[2].getLineNumber()].join(':');
}
});
const logger = function () {
return console.log(__line, ...Object.keys(arguments).map(key => arguments[key]))
};
module.exports = function(logName, getterName) {
if (!logName) logName = 'l';
if (!getterName) getterName = 'logg';
global[logName] = logger;
global.__defineGetter__(getterName, logger);
};