pury
Version:
🛡️ AI-powered security scanner with advanced threat detection, dual reporting system (detailed & summary), and comprehensive code analysis
60 lines • 1.86 kB
JavaScript
import chalk from 'chalk';
export var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
LogLevel[LogLevel["INFO"] = 1] = "INFO";
LogLevel[LogLevel["WARN"] = 2] = "WARN";
LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
})(LogLevel || (LogLevel = {}));
class Logger {
level = LogLevel.INFO;
prefix = '[PuryAI]';
setLevel(level) {
this.level = level;
}
getLevel() {
return this.level;
}
debug(message, ...args) {
if (this.level <= LogLevel.DEBUG) {
console.log(chalk.gray(`${this.prefix} ${message}`), ...args);
}
}
info(message, ...args) {
if (this.level <= LogLevel.INFO) {
console.log(chalk.blue(`${this.prefix} ${message}`), ...args);
}
}
success(message, ...args) {
if (this.level <= LogLevel.INFO) {
console.log(chalk.green(`${this.prefix} ✓ ${message}`), ...args);
}
}
warn(message, ...args) {
if (this.level <= LogLevel.WARN) {
console.warn(chalk.yellow(`${this.prefix} ⚠ ${message}`), ...args);
}
}
error(message, ...args) {
if (this.level <= LogLevel.ERROR) {
console.error(chalk.red(`${this.prefix} ✗ ${message}`), ...args);
}
}
spinner(message) {
// Simple fallback for ora since it requires special handling in ES modules
console.log(`⏳ ${message}`);
return {
succeed: (msg) => {
console.log(`✅ ${msg ?? message}`);
},
fail: (msg) => {
console.log(`❌ ${msg ?? message}`);
},
stop: () => {
/* Spinner stop - no-op for simple implementation */
}
};
}
}
export const logger = new Logger();
//# sourceMappingURL=logger.js.map