nesh
Version:
An enhanced, extensible shell for Node.js
76 lines (68 loc) • 1.78 kB
JavaScript
// Generated by CoffeeScript 1.11.1
/*
Nesh logging module. This is exposed as `nesh.logger` and can be
hooked into your app's logging infrastructure. By default the
messages get printed to stdout.
*/
(function() {
var logger;
require('colors');
module.exports = logger = {
DEBUG: 4,
INFO: 3,
WARN: 2,
ERROR: 1,
level: 3,
colors: true,
levelName: function() {
var names;
names = {};
names[logger.DEBUG] = 'debug';
names[logger.INFO] = 'info';
names[logger.WARN] = 'warn';
names[logger.ERROR] = 'error';
return names[logger.level];
},
log: function(level, msg) {
if (level <= logger.level) {
return console.log(msg);
}
},
debug: function(msg) {
return logger.log(logger.DEBUG, logger.colors ? msg.grey : msg);
},
info: function(msg) {
return logger.log(logger.INFO, msg);
},
warn: function(msg) {
return logger.log(logger.WARN, logger.colors ? msg.yellow : msg);
},
error: function(msg) {
return logger.log(logger.ERROR, logger.colors ? msg.red : msg);
},
/*
Convenience methods for logging frameworks
*/
test: function() {
logger.colors = false;
logger.output = '';
logger.level = logger.DEBUG;
return logger.log = function(level, message) {
if (level <= logger.level) {
return logger.output += message;
}
};
},
winston: function() {
var winston;
winston = require('winston');
logger.colors = false;
return logger.log = function(level, msg) {
if (level <= logger.level) {
return winston[logger.levelName()](msg);
}
};
}
};
}).call(this);
//# sourceMappingURL=log.js.map