mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2025-12-11 22:17:14 +03:00
70 lines
1.5 KiB
JavaScript
70 lines
1.5 KiB
JavaScript
const config = require('../config.js');
|
|
|
|
const levels = {
|
|
ERROR: "ERROR",
|
|
WARN: "WARN",
|
|
INFO: "INFO",
|
|
DEBUG: "DEBUG"
|
|
};
|
|
|
|
const colors = {
|
|
Reset: "\x1b[0m",
|
|
Bright: "\x1b[1m",
|
|
Dim: "\x1b[2m",
|
|
Underscore: "\x1b[4m",
|
|
Blink: "\x1b[5m",
|
|
Reverse: "\x1b[7m",
|
|
Hidden: "\x1b[8m",
|
|
|
|
FgBlack: "\x1b[30m",
|
|
FgRed: "\x1b[31m",
|
|
FgGreen: "\x1b[32m",
|
|
FgYellow: "\x1b[33m",
|
|
FgBlue: "\x1b[34m",
|
|
FgMagenta: "\x1b[35m",
|
|
FgCyan: "\x1b[36m",
|
|
FgWhite: "\x1b[37m",
|
|
|
|
BgBlack: "\x1b[40m",
|
|
BgRed: "\x1b[41m",
|
|
BgGreen: "\x1b[42m",
|
|
BgYellow: "\x1b[43m",
|
|
BgBlue: "\x1b[44m",
|
|
BgMagenta: "\x1b[45m",
|
|
BgCyan: "\x1b[46m",
|
|
BgWhite: "\x1b[47m",
|
|
}
|
|
|
|
const settings = {
|
|
ERROR: true,
|
|
WARN: true,
|
|
INFO: false,
|
|
DEBUG: false
|
|
};
|
|
|
|
if (config.mode === 'development') {
|
|
settings.INFO = true;
|
|
settings.DEBUG = true;
|
|
} else if (config.mode === 'test') {
|
|
settings.WARN = false;
|
|
}
|
|
|
|
function log(level, string) {
|
|
if (!!settings[level]) {
|
|
let color = colors.Bright;
|
|
if (level === levels.ERROR) color = colors.FgRed;
|
|
if (level === levels.WARN) color = colors.FgYellow;
|
|
|
|
if (level.length === 4) {level = level + " "}; // ensure logs are aligned
|
|
console.log(colors.Dim, level + " " + new Date().toISOString() + ": ", color, string, colors.Reset);
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
levels,
|
|
log,
|
|
error: (string) => {log(levels.ERROR, string)},
|
|
warn: (string) => {log(levels.WARN, string)},
|
|
info: (string) => {log(levels.INFO, string)},
|
|
debug: (string) => {log(levels.DEBUG, string)},
|
|
}; |