@flowlab/all
Version:
A cool library focusing on handling various flows
39 lines (35 loc) • 1.18 kB
text/typescript
// --- src/monitoring/logger.ts ---
/**
* @interface ILogger
* @description 日志记录器接口
*/
export interface ILogger {
debug(message: string, meta?: any): void;
info(message: string, meta?: any): void;
warn(message: string, meta?: any): void;
error(message: string, error?: Error, meta?: any): void;
}
/**
* MARK: 控制台日志记录器
* @class ConsoleLogger
* @implements ILogger
* @description 简单的控制台日志记录器 (示例)
*/
export class ConsoleLogger implements ILogger {
private contextPrefix: string;
constructor(contextPrefix: string = '[FlowLab]') {
this.contextPrefix = contextPrefix;
}
debug(message: string, meta?: any): void {
console.debug(`${this.contextPrefix}[DEBUG] ${message}`, meta ?? '');
}
info(message: string, meta?: any): void {
console.info(`${this.contextPrefix}[INFO] ${message}`, meta ?? '');
}
warn(message: string, meta?: any): void {
console.warn(`${this.contextPrefix}[WARN] ${message}`, meta ?? '');
}
error(message: string, error?: Error, meta?: any): void {
console.error(`${this.contextPrefix}[ERROR] ${message}`, error ?? '', meta ?? '');
}
}