betterio
Version:
A cool package for Better logging
125 lines (102 loc) • 5.31 kB
JavaScript
const chalk = require('chalk');
let currentDate = new Date();
let time = currentDate.getHours() + ":" + currentDate.getMinutes() + ":" + currentDate.getSeconds();
class Logger {
constructor() {
this.log = async function(data, type) {
if (type === null) { await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.gray.bold("log") + chalk.gray("]"), chalk.gray(data)) } else {
switch (type) {
case "warn":
await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.yellow.bold("warn") + chalk.gray("]"), chalk.red(data))
break;
case "log":
await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.gray.bold("log") + chalk.gray("]"), chalk.gray(data))
break;
case "info":
await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.white.bold("info") + chalk.gray("]"), chalk.white(data))
break;
case "debug":
console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.magenta.bold("debug") + chalk.gray("]"), chalk.cyan(data))
break;
case "error":
await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.red.bold("error") + chalk.gray("]"), chalk.red(data))
break;
}
}
}
this.print = async function(data, type) {
if (type === null) { await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.gray.bold("log") + chalk.gray("]"), chalk.gray(data)) } else {
switch (type) {
case "warn":
await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.yellow.bold("warn") + chalk.gray("]"), chalk.red(data))
break;
case "log":
await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.gray.bold("log") + chalk.gray("]"), chalk.gray(data))
break;
case "info":
await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.white.bold("info") + chalk.gray("]"), chalk.white(data))
break;
case "debug":
console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.magenta.bold("debug") + chalk.gray("]"), chalk.cyan(data))
break;
case "error":
await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.red.bold("error") + chalk.gray("]"), chalk.red(data))
break;
}
}
}
this.info = async function (data) {await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.white.bold("info") + chalk.gray("]"), chalk.white(data))}
this.warn = async function (data) {await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.yellow.bold("warn") + chalk.gray("]"), chalk.red(data))}
this.debug = async function (data) {await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.magenta.bold("debug") + chalk.gray("]"), chalk.cyan(data))}
this.error = async function (data) {await console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.red.bold("error") + chalk.gray("]"), chalk.red(data))}
}
}
class Debug {
constructor(data) {
console.warn(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.magenta.bold("debug") + chalk.gray("]"), chalk.cyan(data))
}
}
class Error {
constructor(data) {
console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.red.bold("error") + chalk.gray("]"), chalk.red(data))
}
}
class Warn {
constructor(data) {
console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.yellow.bold("warn") + chalk.gray("]"), chalk.red(data))
}
}
class Log {
constructor(data) {
console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.gray.bold("log") + chalk.gray("]"), chalk.gray(data))
}
}
class Info {
constructor(data) {
console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.white.bold("info") + chalk.gray("]"), chalk.white(data))
}
}
class Custom {
constructor(name, data) {
console.log(chalk.gray("[" + time + "]"), chalk.gray("[") + chalk.white.bold(name) + chalk.gray("]"), chalk.white(data))
}
}
class Line {
constructor() {
console.log("")
}
}
module.exports.Logger = Logger;
module.exports.Logger.Debug = Debug;
module.exports.Logger.Debug.Debug = Debug;
module.exports.Logger.Debug.Error = Error;
module.exports.Logger.Debug.Warn = Warn;
module.exports.Logger.Debug.Log = Log;
module.exports.Logger.Debug.Info = Info;
module.exports.Logger.Debug.Custom = Custom;
module.exports.Logger.Log = Logger;
module.exports.Logger.Error = Error;
module.exports.Logger.Warn = Warn;
module.exports.Logger.Info = Info;
module.exports.Logger.Custom = Custom;
module.exports.Logger.Line = Line;