2025-06-11 10:42:40 +05:30

51 lines
1.0 KiB
TypeScript

export class Logger {
private static instance: Logger;
private debugMode: boolean;
private prefix: string;
private constructor(debug: boolean = false, prefix: string = 'ClientMCP') {
this.debugMode = debug;
this.prefix = `[${prefix}]:`;
}
/**
* Initialize the logger
*/
public static getInstance(debug: boolean = false, prefix?: string): Logger {
if (!Logger.instance) {
Logger.instance = new Logger(debug, prefix);
}
return Logger.instance;
}
/**
* Log debug message
*/
public debug(...args: unknown[]): void {
if (this.debugMode) {
console.debug(this.prefix, "[debug]:", ...args);
}
}
/**
* Log info message
*/
public info(...args: unknown[]): void {
console.info(this.prefix, "[info]:", ...args);
}
/**
* Log warning message
*/
public warn(...args: unknown[]): void {
console.warn(this.prefix, "[warn]:", ...args);
}
/**
* Log error message
*/
public error(...args: unknown[]): void {
console.error(this.prefix, "[error]:", ...args);
}
}