You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
1.9 KiB
88 lines
1.9 KiB
/*
|
|
YUI 3.17.2 (build 9c3c78e)
|
|
Copyright 2014 Yahoo! Inc. All rights reserved.
|
|
Licensed under the BSD License.
|
|
http://yuilibrary.com/license/
|
|
*/
|
|
|
|
YUI.add('yui-log-nodejs', function (Y, NAME) {
|
|
|
|
var sys = require(process.binding('natives').util ? 'util' : 'sys'),
|
|
hasColor = false;
|
|
|
|
try {
|
|
var stdio = require("stdio");
|
|
hasColor = stdio.isStderrATTY();
|
|
} catch (ex) {
|
|
hasColor = true;
|
|
}
|
|
|
|
Y.config.useColor = hasColor;
|
|
|
|
Y.consoleColor = function(str, num) {
|
|
if (!this.config.useColor) {
|
|
return str;
|
|
}
|
|
if (!num) {
|
|
num = '32';
|
|
}
|
|
return "\u001b[" + num +"m" + str + "\u001b[0m";
|
|
};
|
|
|
|
|
|
var logFn = function(str, t, m) {
|
|
var id = '', lvl, mLvl;
|
|
if (this.id) {
|
|
id = '[' + this.id + ']:';
|
|
}
|
|
t = t || 'info';
|
|
m = (m) ? this.consoleColor(' (' + m.toLowerCase() + '):', 35) : '';
|
|
|
|
if (str === null) {
|
|
str = 'null';
|
|
}
|
|
|
|
if ((typeof str === 'object') || str instanceof Array) {
|
|
try {
|
|
//Should we use this?
|
|
if (str.tagName || str._yuid || str._query) {
|
|
str = str.toString();
|
|
} else {
|
|
str = sys.inspect(str);
|
|
}
|
|
} catch (e) {
|
|
//Fail catcher
|
|
}
|
|
}
|
|
|
|
lvl = '37;40';
|
|
mLvl = ((str) ? '' : 31);
|
|
t = t+''; //Force to a string..
|
|
switch (t.toLowerCase()) {
|
|
case 'error':
|
|
lvl = mLvl = 31;
|
|
break;
|
|
case 'warn':
|
|
lvl = 33;
|
|
break;
|
|
case 'debug':
|
|
lvl = 34;
|
|
break;
|
|
}
|
|
if (typeof str === 'string') {
|
|
if (str && str.indexOf("\n") !== -1) {
|
|
str = "\n" + str;
|
|
}
|
|
}
|
|
|
|
// output log messages to stderr
|
|
sys.error(this.consoleColor(t.toLowerCase() + ':', lvl) + m + ' ' + this.consoleColor(str, mLvl));
|
|
};
|
|
|
|
if (!Y.config.logFn) {
|
|
Y.config.logFn = logFn;
|
|
}
|
|
|
|
|
|
|
|
}, '3.17.2');
|
|
|