UNPKG

@surface/logger

Version:
52 lines (51 loc) 1.35 kB
/* eslint-disable sort-keys */ import chalk from "chalk"; import LogLevel from "./enums/log-level.js"; const COLORS = { None: chalk.hex("#ffffff"), Fatal: chalk.hex("#761d14"), Error: chalk.hex("#bf0615"), Warn: chalk.hex("#de843d"), Info: chalk.hex("#68a0d4"), Debug: chalk.hex("#ecb740"), Trace: chalk.hex("#649c4c"), }; export default class Logger { logLevel; constructor(logLevel) { this.logLevel = logLevel; } log(message, level) { console.log(`${COLORS[level](level)}: ${message}`); } fatal(message) { if (this.logLevel >= LogLevel.Fatal) { this.log(message, "Fatal"); } } error(message) { if (this.logLevel >= LogLevel.Error) { this.log(message, "Error"); } } warn(message) { if (this.logLevel >= LogLevel.Warn) { this.log(message, "Warn"); } } info(message) { if (this.logLevel >= LogLevel.Info) { this.log(message, "Info"); } } debug(message) { if (this.logLevel >= LogLevel.Debug) { this.log(message, "Debug"); } } trace(message) { if (this.logLevel >= LogLevel.Trace) { this.log(message, "Trace"); } } }