inologger
Version:
Simple log interface with colored logging
86 lines (72 loc) • 1.73 kB
JavaScript
const log4js = require('log4js');
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",
};
let log = null;
function init(path) {
log4js.configure({
appenders: { debug: { type: 'file', filename: path || 'debug.log' } },
categories: { default: { appenders: ['debug'], level: 'trace' } }
});
log = log4js.getLogger('LOGGER');
}
function error(message,appendToFile){
if (appendToFile){
log.error(message)
}
console.log('\x1b[31m%s\x1b[0m', message);
}
function info(message,appendToFile){
if (appendToFile){
log.info(message)
}
console.log('\x1b[34m%s\x1b[0m', message);
}
function warn(message,appendToFile){
if (appendToFile){
log.warn(message)
}
console.log('\x1b[32m%s\x1b[0m', message);
}
function trace(message,appendToFile){
if (appendToFile){
log.trace(message)
}
console.log('\x1b[37m%s\x1b[0m', message);
}
function fatal(message,appendToFile){
if (appendToFile){
log.fatal(message)
}
console.log('\x1b[31m%s\x1b[0m'," **FATAL** "+message+" **FATAL**+");
}
module.exports = {
fatal,
error,
trace,
warn,
info,
init
};