UNPKG

984 BJavaScriptView Raw
1'use strict';
2
3// Makes a logger function that formats messages sensibly and logs to either
4// stdout or stderr.
5//
6// - @param {String} level - the log level.
7// - @param {String} method - the method on the console object to call.
8// - @return {Function} - the logging function.
9function makeLogger(level, method) {
10 // The logger function to return takes a variable number of arguments
11 // and formats like console.log
12 function logger() {
13 var args = [].slice.call(arguments);
14 var format = level.toUpperCase() + ': (api-client) ' + args.shift();
15 var logArgs = [format].concat(args);
16
17 return console[method].apply(console, logArgs);
18 }
19
20 return (level === 'warn' || level === 'error' || level === 'info')
21 ? logger
22 : function() {};
23}
24
25module.exports = {
26 silly: makeLogger('silly', 'log'),
27 verbose: makeLogger('verbose', 'log'),
28 info: makeLogger('info', 'log'),
29 http: makeLogger('http', 'log'),
30 warn: makeLogger('warn', 'log'),
31 error: makeLogger('error', 'error')
32};