UNPKG

@lx-frontend/wx-minapp-monitor

Version:

a sdk for min-app monitor

153 lines 5.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RealtimeLogManager = void 0; var tslib_1 = require("tslib"); var instance; var RealtimeLogManager = /** @class */ (function () { function RealtimeLogManager(options) { if (options === void 0) { options = {}; } // private static instance: RealtimeLogManager; this.logger = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : null; this.isEnable = options.enable === undefined ? true : options.enable; } RealtimeLogManager.prototype.validLogger = function () { if (!this.isEnable) return false; if (!this.logger) { console.warn('RealtimeLogManager is not supported, please check the version'); return false; } return true; }; /** * 数据脱敏 * @param data 需要脱敏的数据 */ // eslint-disable-next-line class-methods-use-this RealtimeLogManager.prototype.filterData = function (data) { var jsonStr = JSON.stringify(data); var jsonFilter = jsonStr.replace(/(\d{3})\d+(\d{4})/gm, '$1****$2').replace(/(\d{6})\d+(\d{4})/gm, '$1******$2'); return jsonFilter; }; RealtimeLogManager.prototype.RouterCenter = function (type) { var _a; var _this = this; var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } if (!this.validLogger()) return; // 获取当前系统信息 var sysInfo = wx.getSystemInfoSync() || {}; // 获取当前路由信息 var routerInfo = getCurrentPages() ? getCurrentPages().map(function (_) { return ({ route: _.route, options: _.options }); }) : {}; var params = args.map(function (_) { return _this.filterData(_); }); (_a = this.logger[type]).call.apply(_a, tslib_1.__spreadArray([this.logger], params, false)); }; /** * 获取 RealtimeLogManager 实例,使用单例模式 * @param options RealtimeLogManager 配置项 * @returns RealtimeLogManager 实例 */ RealtimeLogManager.getInstance = function (options) { if (options === void 0) { options = {}; } if (!instance) { instance = new RealtimeLogManager(options); } return instance; }; Object.defineProperty(RealtimeLogManager.prototype, "enabled", { /** * 获取该实例的日志记录功能是否开启 */ get: function () { return this.isEnable === undefined ? true : this.isEnable; }, /** * 开启或关闭该实例的日志记录功能 */ set: function (value) { this.isEnable = value; }, enumerable: false, configurable: true }); /** * * @param args */ RealtimeLogManager.prototype.info = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } this.RouterCenter.apply(this, tslib_1.__spreadArray(['info'], args, false)); }; /** * * @param args */ RealtimeLogManager.prototype.warn = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } this.RouterCenter.apply(this, tslib_1.__spreadArray(['warn'], args, false)); }; /** * * @param args */ RealtimeLogManager.prototype.error = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } this.RouterCenter.apply(this, tslib_1.__spreadArray(['error'], args, false)); }; /** * * @param msg * @returns */ RealtimeLogManager.prototype.addFilterMsg = function (msg) { if (!this.validLogger()) return; this.logger.addFilterMsg(msg); }; /** * * @param msg * @returns */ RealtimeLogManager.prototype.setFilterMsg = function (msg) { if (!this.validLogger()) return; this.logger.setFilterMsg(msg); }; /** * 获取当前系统信息 */ RealtimeLogManager.prototype.reportSysInfo = function () { if (!this.validLogger()) return; var sysInfo = wx.getSystemInfoSync() || {}; this.logger.info('------系统信息------', sysInfo); }; /** * 获取当前页面栈信息 * @param latest 获取最近的latest条页面栈 */ RealtimeLogManager.prototype.reportRouterInfo = function (latest) { if (latest === void 0) { latest = 0; } if (!this.validLogger()) return; var num = !+latest ? 0 : +latest; var routerInfo = getCurrentPages() ? getCurrentPages().slice(-num).map(function (_) { return ({ route: _.route, options: _.options }); }) : {}; this.logger.info('------路由信息------', routerInfo); }; return RealtimeLogManager; }()); exports.RealtimeLogManager = RealtimeLogManager; //# sourceMappingURL=index.js.map