logger.ts•958 B
export enum LogLevel {
DEBUG = 0,
INFO = 1,
WARN = 2,
ERROR = 3
}
class Logger {
private level: LogLevel = LogLevel.INFO;
setLevel(level: LogLevel): void {
this.level = level;
}
debug(message: string, ...args: any[]): void {
if (this.level <= LogLevel.DEBUG) {
console.error(`[DEBUG] ${new Date().toISOString()} - ${message}`, ...args);
}
}
info(message: string, ...args: any[]): void {
if (this.level <= LogLevel.INFO) {
console.error(`[INFO] ${new Date().toISOString()} - ${message}`, ...args);
}
}
warn(message: string, ...args: any[]): void {
if (this.level <= LogLevel.WARN) {
console.error(`[WARN] ${new Date().toISOString()} - ${message}`, ...args);
}
}
error(message: string, ...args: any[]): void {
if (this.level <= LogLevel.ERROR) {
console.error(`[ERROR] ${new Date().toISOString()} - ${message}`, ...args);
}
}
}
export const logger = new Logger();