UNPKG

883 BJavaScriptView Raw
1var nil = (function(){});
2
3module.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 * Logger factory
26 */
27
28function logger(prefix) {
29 return function() {
30 process.stdout.write(prefix);
31 console.log.apply(this, arguments);
32 };
33}
34
35function prodlogger(prefix) {
36 return function() {
37 process.stdout.write('[' + (new Date()).toISOString() + '] ' + prefix);
38 console.log.apply(this, arguments);
39 };
40}
41
42function c(n, str) {
43 return '\033['+n+'m'+str+'\033[0m';
44}