Files
archived-nodemon/lib/utils/log.js
Remy Sharp 13770da9f3 Fixed nodemon.once. Add config.run. Tests not 100% passing
Something weird is happening with required nodemon and re-running lots of times, that somehow resets the config. I know it's due to my tests, but I'm unsure which one is actually causing the damn issue. Anyway, bed for me, it's almost 2am. Sod this for a game of cricket.
2014-01-05 01:42:37 +00:00

62 lines
1.2 KiB
JavaScript

'use strict';
var util = require('util'),
colour = require('./colour'),
bus = require('./bus'),
required = false;
var coding = {
log: 'black',
info: 'yellow',
status: 'green',
detail: 'yellow',
fail: 'red',
error: 'red'
};
function log(type, text) {
var msg = colour(coding[type], '[nodemon] ' + (text||''));
if (required) {
bus.emit('log', { type: type, message: text, colour: msg });
} else if (type === 'error') {
util.error(msg);
} else {
util.log(msg);
}
}
var Logger = function (r) {
if (!(this instanceof Logger)) {
return new Logger(r);
}
this.required(r);
return this;
};
Object.keys(coding).forEach(function (type) {
Logger.prototype[type] = log.bind(null, type);
});
// detail is for messages that are turned on during debug
Logger.prototype.detail = function (msg) {
if (this.debug) {
log('detail', msg);
}
};
Logger.prototype.required = function (val) {
required = val;
};
Logger.prototype.debug = false;
Logger.prototype._log = function (type, msg) {
if (required) {
bus.emit('log', { type: type, message: msg || '', colour: msg || '' });
} else if (type === 'error') {
util.error(msg);
} else {
console.log(msg || '');
}
};
module.exports = Logger;