UNPKG

854 BJavaScriptView Raw
1const log = require("fancy-log");
2const getColonTimeFromDate = () => new Date().toTimeString().slice(0, 8);
3const chalk = require("chalk");
4
5class Logger {
6 constructor() {
7 this.opts = {};
8 }
9
10 setOptions({ quiet }) {
11 if (quiet !== undefined) {
12 this.opts.quiet = typeof quiet === "boolean" ? quiet : false;
13 }
14 }
15
16 log(...args) {
17 if (this.opts.quiet) return;
18
19 log(...args);
20 }
21 l(msg = "", additional = "") {
22 console.log(
23 `${chalk.rgb(58, 65, 255).bold("_".repeat(msg.length + additional.length + 12))}`
24 );
25 console.log(
26 `${chalk.gray(getColonTimeFromDate())}${chalk.magenta.bold(":")} ${chalk.magenta.bold(
27 msg || "--"
28 )} ${additional ? chalk.cyan.underline.bold(additional) : ""}`
29 );
30 }
31 error(...args) {
32 log.error(...args);
33 }
34 clear() {
35 process.stdout.write("\x1B[2J\x1B[0f");
36 }
37}
38
39module.exports = new Logger();