peezy-cli
Version:
Production-ready CLI for scaffolding modern applications with curated full-stack templates, intelligent migrations, and enterprise security.
48 lines • 1.34 kB
JavaScript
/**
* Logger utility for the Version Scrubbing Plugin
*/
const LOG_LEVELS = {
SILENT: -1,
ERROR: 0,
WARN: 1,
INFO: 2,
DEBUG: 3,
};
class Logger {
level;
prefix;
constructor(level = "INFO", prefix = "[VersionScrubbing]") {
this.level = LOG_LEVELS[level];
this.prefix = prefix;
}
log(level, message, ...args) {
// If configured SILENT, never log
if (this.level < 0)
return;
if (LOG_LEVELS[level] <= this.level) {
const timestamp = new Date().toISOString();
const levelStr = level.padEnd(6);
console.log(`${timestamp} ${levelStr} ${this.prefix} ${message}`, ...args);
}
}
error(message, ...args) {
this.log("ERROR", message, ...args);
}
warn(message, ...args) {
this.log("WARN", message, ...args);
}
info(message, ...args) {
this.log("INFO", message, ...args);
}
debug(message, ...args) {
this.log("DEBUG", message, ...args);
}
setLevel(level) {
this.level = LOG_LEVELS[level];
}
}
// Create default logger instance
const resolvedDefaultLevel = process.env.LOG_LEVEL ||
(process.env.NODE_ENV === "test" ? "SILENT" : "WARN");
export const logger = new Logger(resolvedDefaultLevel);
//# sourceMappingURL=logger.js.map