// ////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2016-present All Rights Reserved. // Licensed under the Apache License, Version 2.0 (the "License"); // http://www.apache.org/licenses/LICENSE-2.0 // // Github Home: https://github.com/AlexWang1987 // Author: AlexWang // Date: 2016-08-27 22:58:47 // QQ Email: 1669499355@qq.com // Last Modified time: 2016-08-27 23:05:53 // Description: LiveClass-Loger // // ////////////////////////////////////////////////////////////////////////////// import LogManager from "./LogManager"; class Loger { constructor(info) { this.sdkInfo = info || ''; this.id = this.initId(); } initId() { if (!this.sdkInfo) { console.log("this.sdkInfo无效-->", this.sdkInfo); return ''; } const infoType = Object.prototype.toString.call(this.sdkInfo); if (infoType === '[object String]') { return this.sdkInfo; } if (infoType === '[object Object]') { return this.sdkInfo.mid || ''; } return ''; } log(...msg) { this._log(Loger.LOG, msg); } warn(...msg) { this._log(Loger.WARN, msg); } error(...msg) { this._log(Loger.ERROR, msg); } data(...msg) { this._log(Loger.DATA, msg); } _log(type, msg) { msg = JSON.stringify(msg); let logMsg = `${this.id} -> ${msg}`; switch (type) { case Loger.LOG: Loger.LogManager.addLog(Loger.LOG, logMsg); //如果是debug模式就输出 if (Loger.IS_DEBUG) { console.log(logMsg); } break; case Loger.WARN: Loger.LogManager.addLog(Loger.WARN, logMsg); //如果是debug模式就输出 if (Loger.IS_DEBUG) { console.warn(logMsg); } break; case Loger.ERROR: Loger.LogManager.addLog(Loger.ERROR, logMsg); //如果是debug模式就输出 if (Loger.IS_DEBUG) { console.error(logMsg); } break; case Loger.DATA: //如果是debug模式就输出 if (Loger.IS_DEBUG) { console.log(logMsg); } break; default : break; } } } Loger.IS_DEBUG = false; Loger.LOG = 3; Loger.WARN = 2; Loger.ERROR = 1; Loger.NO = Infinity; Loger.logLevel = 0; Loger.DATA = 5; Loger.LogManager = LogManager; export default { getLoger: function getLoger(info) { return new Loger(info); }, setLogLevel: function setLogLevel(logLevel) { Loger.logLevel = logLevel; }, setLogDebug: function setLogDebug(isDebug) { Loger.IS_DEBUG = isDebug; }, LOG: Loger.LOG, WARN: Loger.WARN, ERROR: Loger.ERROR, NO: Loger.NO, DATA: Loger.DATA, IS_DEBUG: Loger.IS_DEBUG, LogManager: LogManager };