1 | var nil = (function(){});
|
2 |
|
3 | module.exports = function(env) {
|
4 | if (env !== 'production') {
|
5 | return {
|
6 | 'log': logger(' '),
|
7 | 'error': logger(c(31, '!! ')),
|
8 | 'warn': logger(c(33, '>> ')),
|
9 | 'info': logger(c(36, '=> ')),
|
10 | 'debug': logger(c(90, ' > '))
|
11 | };
|
12 | }
|
13 | else {
|
14 | return {
|
15 | 'log': prodlogger(''),
|
16 | 'error': prodlogger('ERR: '),
|
17 | 'warn': prodlogger('WARN: '),
|
18 | 'info': prodlogger('INFO: '),
|
19 | 'debug': nil
|
20 | };
|
21 | }
|
22 | };
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 | function logger(prefix) {
|
29 | return function() {
|
30 | process.stdout.write(prefix);
|
31 | console.log.apply(this, arguments);
|
32 | };
|
33 | }
|
34 |
|
35 | function prodlogger(prefix) {
|
36 | return function() {
|
37 | process.stdout.write('[' + (new Date()).toISOString() + '] ' + prefix);
|
38 | console.log.apply(this, arguments);
|
39 | };
|
40 | }
|
41 |
|
42 | function c(n, str) {
|
43 | return '\033['+n+'m'+str+'\033[0m';
|
44 | }
|