UNPKG

mstf-kit

Version:

一个现代化的 JavaScript/TypeScript 工具库,提供了丰富的常用工具函数

163 lines (162 loc) 3.55 kB
/** * 统一的日志工具类 * 提供可配置的日志输出功能 */ /** * 日志级别 */ export declare enum LogLevel { NONE = 0,// 不输出任何日志 ERROR = 1,// 只输出错误 WARN = 2,// 输出警告和错误 INFO = 3,// 输出信息、警告和错误 DEBUG = 4 } /** * 日志配置选项 */ export interface LoggerOptions { /** 是否启用日志 */ enabled?: boolean; /** 日志前缀 */ prefix?: string; /** 日志级别 */ level?: LogLevel | 'none' | 'error' | 'warn' | 'info' | 'debug'; /** 是否显示时间戳 */ showTimestamp?: boolean; /** 自定义日志处理函数 */ customHandler?: (level: string, prefix: string, ...args: any[]) => void; } /** * Logger 类 * 提供统一的日志输出接口 */ export declare class Logger { private enabled; private prefix; private level; private showTimestamp; private customHandler?; /** * 创建 Logger 实例 * @param options 日志配置选项 */ constructor(options?: LoggerOptions); /** * 解析字符串形式的日志级别 */ private parseLogLevel; /** * 格式化日志消息 */ private formatMessage; /** * 输出日志 */ private output; /** * 输出调试日志 * @param args 日志内容 */ debug(...args: any[]): void; /** * 输出信息日志 * @param args 日志内容 */ log(...args: any[]): void; /** * 输出信息日志(别名) * @param args 日志内容 */ info(...args: any[]): void; /** * 输出警告日志 * @param args 日志内容 */ warn(...args: any[]): void; /** * 输出错误日志 * @param args 日志内容 */ error(...args: any[]): void; /** * 输出分组日志(开始) * @param label 分组标签 */ group(label: string): void; /** * 输出折叠的分组日志(开始) * @param label 分组标签 */ groupCollapsed(label: string): void; /** * 结束分组日志 */ groupEnd(): void; /** * 输出表格 * @param data 表格数据 */ table(data: any): void; /** * 输出对象的详细信息 * @param obj 对象 */ dir(obj: any): void; /** * 计时开始 * @param label 计时标签 */ time(label: string): void; /** * 计时结束 * @param label 计时标签 */ timeEnd(label: string): void; /** * 启用日志 */ enable(): void; /** * 禁用日志 */ disable(): void; /** * 设置日志级别 * @param level 日志级别 */ setLevel(level: LogLevel | 'none' | 'error' | 'warn' | 'info' | 'debug'): void; /** * 设置日志前缀 * @param prefix 前缀 */ setPrefix(prefix: string): void; /** * 获取当前是否启用 */ isEnabled(): boolean; /** * 获取当前日志级别 */ getLevel(): LogLevel; /** * 创建子 Logger * @param subPrefix 子前缀 * @returns 新的 Logger 实例 */ createChild(subPrefix: string): Logger; } /** * 创建 Logger 实例 * @param options 日志配置选项 * @returns Logger 实例 */ export declare function createLogger(options?: LoggerOptions): Logger; /** * 创建一个全局默认 Logger(禁用状态) */ export declare const defaultLogger: Logger; /** * 导出默认实例 */ export default Logger;