mstf-kit
Version:
一个现代化的 JavaScript/TypeScript 工具库,提供了丰富的常用工具函数
163 lines (162 loc) • 3.55 kB
TypeScript
/**
* 统一的日志工具类
* 提供可配置的日志输出功能
*/
/**
* 日志级别
*/
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;