1 | var util = require ('util');
|
2 |
|
3 | function isNode () {
|
4 | if (typeof process !== 'undefined' && process.argv[0] === "node")
|
5 | return true;
|
6 | return false;
|
7 | }
|
8 |
|
9 | function color () {
|
10 | var args = [].slice.apply (arguments);
|
11 | var colorNames = args.shift();
|
12 | var str = args.join (' ');
|
13 |
|
14 | if (!isNode())
|
15 | return str;
|
16 | if (!colorName)
|
17 | return str;
|
18 |
|
19 | var color_attrs = colorNames.split("+");
|
20 | var ansi_str = "";
|
21 | var strPrefix = "", strPostfix = "";
|
22 | for (var i=0, attr; attr = color_attrs[i]; i++) {
|
23 | strPrefix += "\033[" + util.inspect.colors[attr][0] + "m";
|
24 | strPostfix += "\033[" + util.inspect.colors[attr][1] + "m";
|
25 | }
|
26 | var ansi_str = strPrefix + str + strPostfix;
|
27 |
|
28 | return ansi_str;
|
29 | }
|
30 |
|
31 | var colorList = "black|red|green|yellow|blue|magenta|cyan|white";
|
32 |
|
33 | colorList.split ('|').forEach (function (colorName) {
|
34 | util.inspect.colors[colorName+'_bg'] = [util.inspect.colors[colorName][0] + 10, 49];
|
35 | color[colorName] = color.bind (color, colorName);
|
36 | });
|
37 |
|
38 | var log = {};
|
39 |
|
40 | log.c = log.color = color;
|
41 |
|
42 | module.exports = log;
|
43 |
|
44 | log.dataflows = log.c.yellow.bind (log.c, 'dataflows');
|
45 | log.path = log.c.cyan;
|
46 | log.errMsg = color.bind (color, 'red+white_bg');
|