51 lines
1.0 KiB
TypeScript
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);
|
|
}
|
|
}
|