irrelon-reactor-autonet
Version:
A module for automatically creating groups of self-networking services.
69 lines (54 loc) • 1.88 kB
JavaScript
import colors from 'colors';
class BaseClass {
constructor (name) {
this._name = name;
}
log () {
var className = this.constructor.name,
instanceName = className !== this._name ? ' ' + colors.magenta(this._name) + ' ::' : '',
dt = new Date(),
dateTimeString = colors.green(dt.toDateString() + ' ' + dt.toTimeString().substr(0, 8)),
finalArgs,
idStr = '',
i;
if (this._id) {
idStr = ' (' + this._id + ') ';
}
finalArgs = [dateTimeString, '::', '*' + colors.magenta(className + idStr) + '*', '::' + instanceName, arguments[0]]
for (i = 1; i < arguments.length; i++) {
finalArgs.push(arguments[i]);
}
console.log.apply(this, finalArgs);
}
logProcess () {
var className = this.constructor.name,
instanceName = className !== this._name ? ' ' + colors.magenta(this._name) + ' ::' : '',
processName = arguments[0],
dt = new Date(),
dateTimeString = colors.green(dt.toDateString() + ' ' + dt.toTimeString().substr(0, 8)),
finalArgs,
idStr = '',
i;
if (this._id) {
idStr = ' (' + this._id + ') ';
}
finalArgs = [dateTimeString, '::', '*' + colors.magenta(className + idStr) + '*', '::' + instanceName, '-' + colors.magenta(processName) + '-', arguments[1]]
for (i = 2; i < arguments.length; i++) {
finalArgs.push(arguments[i]);
}
console.log.apply(this, finalArgs);
}
err () {
var className = this.constructor.name,
dt = new Date(),
dateTimeString = colors.green(dt.toDateString() + ' ' + dt.toTimeString().substr(0, 8)),
finalArgs = [dateTimeString, '::', '*' + colors.magenta(className) + '*', '::', arguments[0]],
i;
for (i = 1; i < arguments.length; i++) {
finalArgs.push(arguments[i]);
}
console.error.apply(this, finalArgs);
throw('Error Thrown, Exiting');
}
}
export default BaseClass;