@activeledger/activelogger
Version:
This package is used to manage the logs generated by Activeledger.
129 lines • 4.22 kB
JavaScript
import * as process from "process";
export class ActiveLogger {
static trace(p1, p2, args) {
if (ActiveLogger.enableDebug) {
let out = ActiveLogger.timestamp() +
ActiveLogger.colour("TRACE", 42) +
ActiveLogger.process() +
ActiveLogger.colour(p2 || p1, this.isVM());
if (p2) {
out += ActiveLogger.object(p1);
}
console.trace();
console.debug(out);
}
}
trace(p1, p2, args) {
ActiveLogger.trace(p1, p2);
}
static debug(p1, p2, args) {
if (ActiveLogger.enableDebug) {
let out = ActiveLogger.timestamp() +
ActiveLogger.colour("DEBUG", 46) +
ActiveLogger.process() +
ActiveLogger.colour(p2 || p1, ActiveLogger.isVM());
if (p2) {
out += ActiveLogger.object(p1);
}
console.debug(out);
}
}
debug(p1, p2, args) {
ActiveLogger.debug(p1, p2);
}
static info(p1, p2, args) {
let out = ActiveLogger.timestamp() +
ActiveLogger.colour("INFO ", 92) +
ActiveLogger.process() +
ActiveLogger.colour(p2 || p1, ActiveLogger.isVM());
if (p2) {
out += ActiveLogger.object(p1);
}
console.info(out);
}
info(p1, p2, args) {
ActiveLogger.info(p1, p2);
}
static warn(p1, p2, args) {
let out = ActiveLogger.timestamp() +
ActiveLogger.colour("WARN ", 93) +
ActiveLogger.process() +
ActiveLogger.colour(p2 || p1, ActiveLogger.isVM());
if (p2) {
out += ActiveLogger.object(p1);
}
console.warn(out);
}
warn(p1, p2, args) {
ActiveLogger.warn(p1, p2);
}
static error(p1, p2, args) {
let out = ActiveLogger.timestamp() +
ActiveLogger.colour("ERROR", 91) +
ActiveLogger.process() +
ActiveLogger.colour(p2 || p1, ActiveLogger.isVM());
if (p2) {
out += ActiveLogger.object(p1);
}
console.error(out);
}
error(p1, p2, args) {
ActiveLogger.error(p1, p2);
}
static fatal(p1, p2, args) {
let out = ActiveLogger.timestamp() +
ActiveLogger.colour("FATAL", 41) +
ActiveLogger.process() +
ActiveLogger.colour(p2 || p1, ActiveLogger.isVM());
if (p2) {
out += ActiveLogger.object(p1);
}
console.error(out);
return new Error(p2 || p1);
}
fatal(p1, p2, args) {
ActiveLogger.fatal(p1, p2);
}
static setVMRuntime(isVM) {
ActiveLogger.isVMRuntime = isVM;
}
setVMRuntime(isVM) {
ActiveLogger.isVMRuntime = isVM;
}
static isVM() {
return ActiveLogger.isVMRuntime ? 93 : 36;
}
static timestamp() {
return `${ActiveLogger.colour(`[${new Date().getTime()}]`, 90)} `;
}
static process() {
return ` ${ActiveLogger.colour(`(Activeledger/${process.pid.toString().padStart(5, "0")})`, 90)} `;
}
static object(obj) {
var _a;
let objectStr = (_a = JSON.stringify(obj, null, 2)) === null || _a === void 0 ? void 0 : _a.slice(1, -1);
let out = "";
if (objectStr) {
out += `\r\n-------------${ActiveLogger.colour("[ OBJECT ]", 32)}-------------`;
out += objectStr;
out += `-------------${ActiveLogger.colour("[ OBJECT ]", 31)}-------------`;
}
else {
if (obj === null || obj === void 0 ? void 0 : obj.toString) {
out += `\r\n-------------${ActiveLogger.colour("[ toString() ]", 32)}-------------\r\n`;
out += obj.toString();
out += `\r\n-------------${ActiveLogger.colour("[ toString() ]", 31)}-------------`;
}
}
return out;
}
static colour(text, colour) {
if (process && process.pid) {
return `\x1b[${colour}m${text}\x1b[0m`;
}
return text;
}
}
ActiveLogger.enableDebug = false;
ActiveLogger.isVMRuntime = false;
//# sourceMappingURL=index.js.map