/** * @author jasonHzq * @description Pontx Logger 核心实现 * * 提供统一的日志输出能力,支持: * - 6 级日志标准(trace/debug/info/warn/error/fatal) * - 文本和 JSON 两种输出格式 * - 彩色输出 * - 日志级别控制 * - 错误追踪和去重 */ import { Logger, LoggerOptions, LogLevel, LogMeta } from './types.d.ts'; /** * Pontx Logger 实现类 */ export declare class PontxLogger implements Logger { private options; private loggedErrors; private warnedMessages; hasWarned: boolean; constructor(options?: LoggerOptions); get level(): LogLevel; set level(value: LogLevel); isLevelEnabled(level: LogLevel): boolean; trace(message: string, meta?: LogMeta): void; debug(message: string, meta?: LogMeta): void; info(message: string, meta?: LogMeta): void; warn(message: string, meta?: LogMeta): void; error(message: string, error?: Error | LogMeta, meta?: LogMeta): void; fatal(message: string, error?: Error | LogMeta, meta?: LogMeta): void; warnOnce(message: string, meta?: LogMeta): void; hasErrorLogged(error: Error): boolean; /** * 核心日志输出方法 * 所有日志方法最终都调用这个方法 */ private log; /** * 格式化日志输出 */ private format; /** * 格式化为 JSON */ private formatJson; /** * 格式化为文本 */ private formatText; /** * 格式化标签(前缀 + 级别) */ private formatTag; /** * 格式化元数据 */ private formatMeta; /** * 着色辅助方法 */ private colorize; } /** * 创建 Logger 实例 * * @param level - 日志级别 * @param options - Logger 配置选项 * @returns Logger 实例 * * @example * ```typescript * // 基础使用 * const logger = createLogger('info'); * logger.info('Hello Pontx'); * * // 自定义配置 * const logger = createLogger('debug', { * prefix: '[my-app]', * colorize: true, * json: false * }); * * // 使用自定义 Logger * const customLogger = new MyLogger(); * const logger = createLogger('info', { customLogger }); * ``` */ export declare function createLogger(level?: LogLevel, options?: LoggerOptions): Logger;