index.js 3.4 KB

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