index.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
  3. var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
  4. _Object$defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports["default"] = void 0;
  8. var _iterator = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/symbol/iterator"));
  9. var _symbol = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/symbol"));
  10. var _reportV = require("./report-v3");
  11. var __read = void 0 && (void 0).__read || function (o, n) {
  12. var m = typeof _symbol["default"] === "function" && o[_iterator["default"]];
  13. if (!m) return o;
  14. var i = m.call(o),
  15. r,
  16. ar = [],
  17. e;
  18. try {
  19. while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
  20. ar.push(r.value);
  21. }
  22. } catch (error) {
  23. e = {
  24. error: error
  25. };
  26. } finally {
  27. try {
  28. if (r && !r.done && (m = i["return"])) m.call(i);
  29. } finally {
  30. if (e) throw e.error;
  31. }
  32. }
  33. return ar;
  34. };
  35. var __spread = void 0 && (void 0).__spread || function () {
  36. for (var ar = [], i = 0; i < arguments.length; i++) {
  37. ar = ar.concat(__read(arguments[i]));
  38. }
  39. return ar;
  40. };
  41. var Logger =
  42. /** @class */
  43. function () {
  44. function Logger(token, disableReport, level, prefix) {
  45. if (disableReport === void 0) {
  46. disableReport = true;
  47. }
  48. if (level === void 0) {
  49. level = 'OFF';
  50. }
  51. if (prefix === void 0) {
  52. prefix = 'UPLOAD';
  53. }
  54. this.token = token;
  55. this.disableReport = disableReport;
  56. this.level = level;
  57. this.prefix = prefix; // 为每个类分配一个 id
  58. // 用以区分不同的上传任务
  59. this.id = ++Logger.id;
  60. }
  61. Logger.prototype.getPrintPrefix = function (level) {
  62. return "Qiniu-JS-SDK [" + level + "][" + this.prefix + "#" + this.id + "]:";
  63. };
  64. /**
  65. * @param {V3LogInfo} data 上报的数据。
  66. * @param {boolean} retry 重试次数,可选,默认为 3。
  67. * @description 向服务端上报统计信息。
  68. */
  69. Logger.prototype.report = function (data, retry) {
  70. if (this.disableReport) return;
  71. try {
  72. (0, _reportV.reportV3)(this.token, data, retry);
  73. } catch (error) {
  74. this.warn(error);
  75. }
  76. };
  77. /**
  78. * @param {unknown[]} ...args
  79. * @description 输出 info 级别的调试信息。
  80. */
  81. Logger.prototype.info = function () {
  82. var args = [];
  83. for (var _i = 0; _i < arguments.length; _i++) {
  84. args[_i] = arguments[_i];
  85. }
  86. var allowLevel = ['INFO'];
  87. if (allowLevel.includes(this.level)) {
  88. // eslint-disable-next-line no-console
  89. console.log.apply(console, __spread([this.getPrintPrefix('INFO')], args));
  90. }
  91. };
  92. /**
  93. * @param {unknown[]} ...args
  94. * @description 输出 warn 级别的调试信息。
  95. */
  96. Logger.prototype.warn = function () {
  97. var args = [];
  98. for (var _i = 0; _i < arguments.length; _i++) {
  99. args[_i] = arguments[_i];
  100. }
  101. var allowLevel = ['INFO', 'WARN'];
  102. if (allowLevel.includes(this.level)) {
  103. // eslint-disable-next-line no-console
  104. console.warn.apply(console, __spread([this.getPrintPrefix('WARN')], args));
  105. }
  106. };
  107. /**
  108. * @param {unknown[]} ...args
  109. * @description 输出 error 级别的调试信息。
  110. */
  111. Logger.prototype.error = function () {
  112. var args = [];
  113. for (var _i = 0; _i < arguments.length; _i++) {
  114. args[_i] = arguments[_i];
  115. }
  116. var allowLevel = ['INFO', 'WARN', 'ERROR'];
  117. if (allowLevel.includes(this.level)) {
  118. // eslint-disable-next-line no-console
  119. console.error.apply(console, __spread([this.getPrintPrefix('ERROR')], args));
  120. }
  121. };
  122. Logger.id = 0;
  123. return Logger;
  124. }();
  125. var _default = Logger;
  126. exports["default"] = _default;