git-tweezers
Version:
Advanced git staging tool with hunk and line-level control
48 lines (47 loc) • 1.31 kB
JavaScript
import chalk from 'chalk';
export var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
LogLevel[LogLevel["INFO"] = 1] = "INFO";
LogLevel[LogLevel["SUCCESS"] = 2] = "SUCCESS";
LogLevel[LogLevel["WARN"] = 3] = "WARN";
LogLevel[LogLevel["ERROR"] = 4] = "ERROR";
})(LogLevel || (LogLevel = {}));
export class Logger {
level;
constructor(level = LogLevel.INFO) {
this.level = level;
}
setLevel(level) {
this.level = level;
}
debug(message) {
if (this.level <= LogLevel.DEBUG) {
console.error(chalk.gray(`[DEBUG] ${message}`));
}
}
info(message) {
if (this.level <= LogLevel.INFO) {
console.error(chalk.blue(`[INFO] ${message}`));
}
}
success(message) {
if (this.level <= LogLevel.SUCCESS) {
console.error(chalk.green(`[SUCCESS] ${message}`));
}
}
warn(message) {
if (this.level <= LogLevel.WARN) {
console.error(chalk.yellow(`[WARN] ${message}`));
}
}
error(message) {
if (this.level <= LogLevel.ERROR) {
console.error(chalk.red(`[ERROR] ${message}`));
}
}
log(message) {
console.log(message);
}
}
export const logger = new Logger();