2025-04-02 21:57:33 +08:00

164 lines
3.7 KiB
JavaScript

"use strict";
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _iterator = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/symbol/iterator"));
var _symbol = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/symbol"));
var _reportV = require("./report-v3");
var __read = void 0 && (void 0).__read || function (o, n) {
var m = typeof _symbol["default"] === "function" && o[_iterator["default"]];
if (!m) return o;
var i = m.call(o),
r,
ar = [],
e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
ar.push(r.value);
}
} catch (error) {
e = {
error: error
};
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
};
var __spread = void 0 && (void 0).__spread || function () {
for (var ar = [], i = 0; i < arguments.length; i++) {
ar = ar.concat(__read(arguments[i]));
}
return ar;
};
var Logger =
/** @class */
function () {
function Logger(token, disableReport, level, prefix) {
if (disableReport === void 0) {
disableReport = true;
}
if (level === void 0) {
level = 'OFF';
}
if (prefix === void 0) {
prefix = 'UPLOAD';
}
this.token = token;
this.disableReport = disableReport;
this.level = level;
this.prefix = prefix; // 为每个类分配一个 id
// 用以区分不同的上传任务
this.id = ++Logger.id;
}
Logger.prototype.getPrintPrefix = function (level) {
return "Qiniu-JS-SDK [" + level + "][" + this.prefix + "#" + this.id + "]:";
};
/**
* @param {V3LogInfo} data 上报的数据。
* @param {boolean} retry 重试次数,可选,默认为 3。
* @description 向服务端上报统计信息。
*/
Logger.prototype.report = function (data, retry) {
if (this.disableReport) return;
try {
(0, _reportV.reportV3)(this.token, data, retry);
} catch (error) {
this.warn(error);
}
};
/**
* @param {unknown[]} ...args
* @description 输出 info 级别的调试信息。
*/
Logger.prototype.info = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var allowLevel = ['INFO'];
if (allowLevel.includes(this.level)) {
// eslint-disable-next-line no-console
console.log.apply(console, __spread([this.getPrintPrefix('INFO')], args));
}
};
/**
* @param {unknown[]} ...args
* @description 输出 warn 级别的调试信息。
*/
Logger.prototype.warn = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var allowLevel = ['INFO', 'WARN'];
if (allowLevel.includes(this.level)) {
// eslint-disable-next-line no-console
console.warn.apply(console, __spread([this.getPrintPrefix('WARN')], args));
}
};
/**
* @param {unknown[]} ...args
* @description 输出 error 级别的调试信息。
*/
Logger.prototype.error = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var allowLevel = ['INFO', 'WARN', 'ERROR'];
if (allowLevel.includes(this.level)) {
// eslint-disable-next-line no-console
console.error.apply(console, __spread([this.getPrintPrefix('ERROR')], args));
}
};
Logger.id = 0;
return Logger;
}();
var _default = Logger;
exports["default"] = _default;