zego-express-logger
Version:
zego express log sdk
88 lines (87 loc) • 2.79 kB
TypeScript
import { ConfigState } from '../common';
import { Logger } from '../../zego.entity';
import { FileUsage } from './model/entity';
export declare class ZipLogStorageContext {
private _configState;
private _innerLogger;
private proxyCtrl?;
fileConfig: {
count: number;
size: number;
};
setFileConfig(count?: number, size?: number): void;
private _dbSaver;
private _logModel;
private _loggerInstModel;
private _fileUsageModel;
private _dbOpened;
private _cache;
private _activeSavingTimer?;
private _activeSavingPromise?;
private _dbTaskQueue;
private _uploadTaskQueue;
private _zipLogUploader;
private _zipLogBuilder;
private _zipLogEnabled;
private _userLastUploadTime;
private _userLastUploadSuccess;
private _userUploading;
constructor(_configState: ConfigState, _innerLogger: Logger, proxyCtrl?: any);
get dbOpened(): boolean;
get _appID(): number;
_instanceID?: number;
_lastLogTime?: number;
_userIds: string[];
/**
* 删除日志,预留足够多用于存储
*/
private _clearOneUsedFile;
checkUsingFile(): Promise<FileUsage>;
/**
* 其他用户的历史日志并上报(日志)
*/
uploadLegacyLog(callByUser: boolean, excludeCurrentUser?: boolean, times?: number): Promise<void>;
_dbTryOpenPromise: Promise<void> | undefined;
openDB(): Promise<void>;
_registerInstance(writeTransaction?: IDBTransaction): Promise<void>;
private _shouldOpenDB;
enable(): void;
/**
* 普通日志
* @param log debug、info、warn、error log
*/
saveLog(log: string): void;
/**
* 如果云控开启 zip_log, 全部缓存日志存入 indexDB;没有开启则依旧保留在cache.queue中
* @returns
*/
private _activeSaving;
static isEnvSupport(): boolean;
/**循环单次上报3w行 */
private _uploadTask;
/**
* 将 indexDB 中的所有日志进行压缩和上报,并从indexDB删除
* SDK 内部发起
*/
private _startASdkUploadTask;
/**
* 将 indexDB 中的所有日志进行压缩和上报,并从indexDB删除
* 用户调接口触发内部发起
*/
private _startAUserUploadTask;
setUploadUrl(urls: string[]): void;
/**
* 用户控制开始上传当前缓存的日志
*/
startUpload(callByUser: boolean, force?: boolean): Promise<void>;
/**
* 标记结束存储日志实例,
* @returns
*/
disable(): Promise<boolean>;
onUploadLog(fileSize: number, file_name: string, error?: {
code: number;
message: string;
}): void;
destroy(): void;
}