the reminder not showing content on the card at dashboard view and the quizes are hardcoded must move to the db make api's for it
83 lines
1.7 KiB
JavaScript
83 lines
1.7 KiB
JavaScript
var colour = require('./colour');
|
|
var bus = require('./bus');
|
|
var required = false;
|
|
var useColours = true;
|
|
|
|
var coding = {
|
|
log: 'black',
|
|
info: 'yellow',
|
|
status: 'green',
|
|
detail: 'yellow',
|
|
fail: 'red',
|
|
error: 'red',
|
|
};
|
|
|
|
function log(type, text) {
|
|
var msg = '[nodemon] ' + (text || '');
|
|
|
|
if (useColours) {
|
|
msg = colour(coding[type], msg);
|
|
}
|
|
|
|
// always push the message through our bus, using nextTick
|
|
// to help testing and get _out of_ promises.
|
|
process.nextTick(() => {
|
|
bus.emit('log', { type: type, message: text, colour: msg });
|
|
});
|
|
|
|
// but if we're running on the command line, also echo out
|
|
// question: should we actually just consume our own events?
|
|
if (!required) {
|
|
if (type === 'error') {
|
|
console.error(msg);
|
|
} else {
|
|
console.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') {
|
|
console.error(msg);
|
|
} else {
|
|
console.log(msg || '');
|
|
}
|
|
};
|
|
|
|
Object.defineProperty(Logger.prototype, 'useColours', {
|
|
set: function (val) {
|
|
useColours = val;
|
|
},
|
|
get: function () {
|
|
return useColours;
|
|
},
|
|
});
|
|
|
|
module.exports = Logger;
|