miniprogram-logger
Version:
It is used to log and gather statistics of users' behavior.
52 lines (51 loc) • 1.44 kB
JavaScript
import { AllLevels, isLogLevel } from "./ILogger";
/**
* 微信LogManager,增加error接口
*/
export class LogManager {
/**
* 创建LogManager
* @param wxLogManager - 微信LogManager或者参数
*/
constructor(wxLogManager) {
/**
* 记录日志级别
*/
this.logLevels = AllLevels;
if (typeof wxLogManager === 'number') {
this.manager = wx.getLogManager(wxLogManager);
}
else {
this.manager = wxLogManager || wx.getLogManager();
}
}
debug(...args) {
return this.log('debug', ...args);
}
info(...args) {
return this.log('info', ...args);
}
warn(...args) {
return this.log('warn', ...args);
}
error(...args) {
return this.log('error', ...args);
}
log() {
if (arguments.length > 1 && isLogLevel(arguments[0])) {
const level = arguments[0];
if (this.logLevels.indexOf(level) >= 0) {
if (level === 'error') {
arguments[0] = '[ERROR]';
this.manager.log.apply(this.manager, arguments);
}
else {
this.manager[level].apply(this.manager, Array.prototype.slice.call(arguments, 1));
}
}
}
else {
this.manager.log.apply(this.manager, arguments);
}
}
}