/** * 日志类型 * * @param LOG INFO - INFO类型 * @param DEBUG DEBUG - 调试信息 * @param WARN WARN - 警告信息 * @param ERROR ERROR - 错误信息 * @param FATAL FATAL - 致命错误信息 */ export declare enum MessageKind { LOG = "INFO", DEBUG = "DEBUG", WARN = "WARN", ERROR = "ERROR", FATAL = "FATAL" } /** * WebWorker消息类型 * * @param LOGGER - 日志类型 * @param INIT - 初始化模块 * @param DESTROY - 销毁操作 * @param DOWNLOAD - 下载日志操作 * @param UPLOAD - 上传日志操作 * @param GET_DATA - 获取日志数据 */ export declare enum LogOperateType { LOGGER = "LOGGER", INIT = "INIT", DESTROY = "DESTROY", DOWNLOAD = "DOWNLOAD", UPLOAD = "UPLOAD", GET_DATA = "GET_DATA" } /** * 日志等级 * * @param INFO - 所有的日志信息 * @param DEBUG - 调试信息 * @param WARNING - 警告信息 * @param ERROR - 错误信息 * @param NONE - 禁用输出日志信息 */ export declare enum LogLevel { INFO = "INFO", DEBUG = "DEBUG", WARNING = "WARNING", ERROR = "ERROR", NONE = "NONE" } /** * 日志等级 * * @param INFO - 所有的日志信息 * @param DEBUG - 调试信息 * @param WARNING - 警告信息 * @param ERROR - 错误信息 * @param NONE - 禁用输出日志信息 */ export type TLogLevel = `${LogLevel}`; /** * 超出表的maxSize后,如何处理,支持清空当前table或者按照限制区间清理 * * @param CLEAR_CURRENT_TABLE - 清空当前table * @param CLEAR_LIMIT_TABLE - 按照限制区间清理 */ export declare enum XYOverflowClearType { CLEAR_CURRENT_TABLE = "CLEAR_CURRENT_TABLE", CLEAR_LIMIT_TABLE = "CLEAR_LIMIT_TABLE" } /** * 日志模块配置 * * @param { string } dbName - 必填,数据库名称,默认值是XYRTC_LOG * @param { string } tableName - 必填,表名称,默认值是LOG * @param { number } dbVersion - 可选,数据库版本,默认值是1 * @param { number } tableCount - 可选,表的数量,默认值是1 * @param { number } tableIndex - 可选,当前表的索引,默认值是1 * @param { string } schema - 可选,表字段,默认值是'++id,t,c' * @param { number } maxSize - 可选,当前数据表最大存储长度,默认值是100000(10万条数据) * @param { number } detectTimer - 可选,多久检测一次表的最大长度,单位ms,默认值是60000(1分钟) * @param { string[] } deleteDBNames - 可选,需要删除的历史数据库名,默认值是[] * @param { boolean } isUpdateVersion - 可选,是否需要更新表版本(历史表都将被删除,避免错误) * @param { boolean } enableClearTable - 可选,是否清理表, 默认值是true,代表重新初始化时清空当前数据表 * @param { string } scope - 可选,配置日志Scope范围,例如配置为'APP',则所有日志显示为:[16:14:24 490][INFO][APP]xxxx * @param { number } clearOffset - 可选,自动清理表数据的偏移值,正序排序,默认值:1000,即从第1000位开始,1000+limit长度的数据进行自动清理操作 * @param { number } clearLimit - 可选,自动清理表数据的数量限制,从offset开始,offset + limit长度为结束,默认值:11000 * @param { XYOverflowClearType } overflowClearType - 可选,超出表的maxSize后,如何处理,支持清空当前table或者按照限制区间清理,默认值:'CLEAR_CURRENT_TABLE' */ export interface ILoggerConfig { dbName: string; tableName: string; dbVersion?: number; tableCount?: number; tableIndex?: number; schema?: string; maxSize?: number; detectTimer?: number; deleteDBNames?: string[]; isUpdateVersion?: boolean; enableClearTable?: boolean; scope?: string; clearOffset?: number; clearLimit?: number; overflowClearType?: XYOverflowClearType; } /** * 缓存数据表配置 */ export interface IStorageTableConfig { version: number; index: number; count: number; } /** * Webworker消息数据 * * @param { LogOperateType } type - 消息类型 * @param { { [key: string]: any } } data - 消息数据 * @param { { [key: string]: any } & ILoggerConfig } config - 消息配置 */ export interface IWorkerData { type: LogOperateType; data: { [key: string]: any; }; config: { [key: string]: any; } & ILoggerConfig; } /** * 日志上传参数 * * @param { string } name - 上传文件名 * @param { string } account - 上传账号 * @param { string } comments - 上传时备注信息 * @param { string } dbName - 日志库名称,默认不传,上传所有日志 */ export interface UploadLogParams { name?: string; account?: string; comments?: string; dbName?: string; }