@kiwigdc/kiwilaunch
Version:
Launch minecraft client
44 lines (43 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.KLogger = void 0;
const fs = require("fs");
const Logger_1 = require("./Logger");
const FormatColor_1 = require("./FormatColor");
class KLogger extends Logger_1.Logger {
/**
* Construct a new file logs and write the date
* @param file used file for write logs
* @param prefix prefix for every logs
*/
constructor(file, prefix = "") {
super();
this.file = file;
this.prefix = prefix;
this.PATTERN = [
'[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
'(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))'
].join('|');
let date = new Date();
this.bufferWrite = fs.createWriteStream(file, { flags: 'w' });
this.bufferWrite.write("\n" + this.prefix + " SESSION :" + date.toLocaleDateString() + " - " + date.toLocaleTimeString() + "\n");
}
/**
* called for every logs
* @param msg message logged
*/
print(msg) {
msg = this.prefix + " " + msg + FormatColor_1.TextFormat.RESET;
console.log(msg);
msg = msg.replaceAll(new RegExp(this.PATTERN, "g"), "");
this.bufferWrite.write(msg + "\n", 'utf-8');
}
debug(msg) {
msg = "DEBUG\n" + FormatColor_1.TextColor.RED + msg + "\n";
console.debug(msg);
}
static getLogger() {
return super.getLogger();
}
}
exports.KLogger = KLogger;