/** * 消息类型 */ export declare type LogMessageType = 'error' | 'warning' | 'information' | 'data'; /** * 日志数据 */ export declare class LogData { time: Date; source: string; message: any; messageType: LogMessageType; constructor(time: Date, source: string, message: any, messageType?: LogMessageType); } /** * 记录器接口 */ export interface ILogger { log(logData: LogData): void; } /** * 格式化消息 * @param source 消息源 * @param message 消息 * @param messageType 消息类型 */ export declare function formatLog(logData: LogData): string; /** * 控制台记录器 */ export declare class ConsoleLogger implements ILogger { log(logData: LogData): void; } /** * 队列记录器,用队列记录日志 */ export declare class QueueLogger implements ILogger { maxSize: number; /** * 日志队列 */ logQueue?: LogData[]; /** * 日志记录事件 */ onLog?: (logData: LogData) => void; /** * 构造函数 * @param maxSize 队列最大长度 */ constructor(maxSize?: number); log(logData: LogData): void; } /** * 控制台记录器 */ export declare const consoleLogger: ConsoleLogger; /** * 记录器列表 */ export declare let loggers: ILogger[]; export interface LogConfig { closed?: string[] | 'all'; opend?: string[]; } /** * 日志配置 */ export declare const LogConfigs: LogConfig; /** * 记录日志 * @author pao * @param source 日志源 * @param message 消息 * @param messageType 消息类型 */ export declare function log(source: string, message: any, messageType?: LogMessageType): void;