123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- const utils_1 = require("../utils/utils");
- const code_1 = require("../const/code");
- const cloudbase_1 = require("../cloudbase");
- /**
- *
- *
- * @class Log
- */
- class Log {
- constructor() {
- const { _SCF_TCB_LOG } = cloudbase_1.CloudBase.getCloudbaseContext();
- this.src = 'app';
- this.isSupportClsReport = true;
- if (`${_SCF_TCB_LOG}` !== '1') {
- this.isSupportClsReport = false;
- }
- else if (!console.__baseLog__) {
- this.isSupportClsReport = false;
- }
- if (!this.isSupportClsReport) {
- // 当前非tcb scf环境 log功能会退化为console
- console.warn('请检查您是否在本地环境 或者 未开通高级日志功能,当前环境下无法上报cls日志,默认使用console');
- }
- }
- /**
- *
- *
- * @param {*} logMsg
- * @param {*} logLevel
- * @returns
- * @memberof Log
- */
- transformMsg(logMsg) {
- // 目前logMsg只支持字符串value且不支持多级, 加一层转换处理
- let realMsg = {};
- realMsg = Object.assign({}, realMsg, logMsg);
- return realMsg;
- }
- /**
- *
- *
- * @param {*} logMsg
- * @param {*} logLevel
- * @memberof Log
- */
- baseLog(logMsg, logLevel) {
- // 判断当前是否属于tcb scf环境
- if (Object.prototype.toString.call(logMsg).slice(8, -1) !== 'Object') {
- throw utils_1.E(Object.assign({}, code_1.ERROR.INVALID_PARAM, { message: 'log msg must be an object' }));
- }
- const msgContent = this.transformMsg(logMsg);
- if (this.isSupportClsReport) {
- ;
- console.__baseLog__(msgContent, logLevel);
- }
- else {
- if (console[logLevel]) {
- console[logLevel](msgContent);
- }
- }
- }
- /**
- *
- *
- * @param {*} logMsg
- * @memberof Log
- */
- log(logMsg) {
- this.baseLog(logMsg, 'log');
- }
- /**
- *
- *
- * @param {*} logMsg
- * @memberof Log
- */
- info(logMsg) {
- this.baseLog(logMsg, 'info');
- }
- /**
- *
- *
- * @param {*} logMsg
- * @memberof Log
- */
- error(logMsg) {
- this.baseLog(logMsg, 'error');
- }
- /**
- *
- *
- * @param {*} logMsg
- * @memberof Log
- */
- warn(logMsg) {
- this.baseLog(logMsg, 'warn');
- }
- }
- exports.Log = Log;
- function logger() {
- return new Log();
- }
- exports.logger = logger;
|