@aws-amplify/datastore 3.7.9-api-logging.2 → 3.7.9-api-logging.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -70083,10 +70083,7 @@ function () {
70083
70083
  try {
70084
70084
  for (var _b = __values(ConsoleLogger.pluggables), _c = _b.next(); !_c.done; _c = _b.next()) {
70085
70085
  var pluggable = _c.value;
70086
-
70087
- var event_1 = this._generateGenericEvent(type, msg);
70088
-
70089
- pluggable.pushLog(event_1);
70086
+ pluggable.pushLogs([this._generateLoggerEvent(type, msg)]);
70090
70087
  }
70091
70088
  } catch (e_1_1) {
70092
70089
  e_1 = {
@@ -70101,9 +70098,10 @@ function () {
70101
70098
  }
70102
70099
  };
70103
70100
 
70104
- ConsoleLogger.prototype._generateGenericEvent = function (type, msg) {
70101
+ ConsoleLogger.prototype._generateLoggerEvent = function (type, msg) {
70105
70102
  var strMessage = '';
70106
70103
  var data;
70104
+ var error;
70107
70105
 
70108
70106
  if (msg.length === 1 && typeof msg[0] === 'string') {
70109
70107
  strMessage = msg[0];
@@ -70117,19 +70115,29 @@ function () {
70117
70115
  }
70118
70116
 
70119
70117
  strMessage = msg[0];
70118
+
70119
+ if (obj instanceof Error) {
70120
+ error = {
70121
+ message: obj.message,
70122
+ name: obj.name
70123
+ };
70124
+ }
70125
+
70120
70126
  data = obj;
70121
70127
  } else {
70122
70128
  data = msg;
70123
70129
  }
70124
70130
 
70125
- var event = {
70126
- data: data,
70127
- level: type,
70131
+ return {
70128
70132
  message: strMessage,
70129
- source: this.name,
70130
- timestamp: Date.now()
70133
+ timestamp: Date.now(),
70134
+ loggerInfo: {
70135
+ level: type.toLowerCase(),
70136
+ name: this.name,
70137
+ data: data,
70138
+ error: error
70139
+ }
70131
70140
  };
70132
- return event;
70133
70141
  };
70134
70142
  /**
70135
70143
  * Write log
@@ -71187,10 +71195,9 @@ __webpack_require__.r(__webpack_exports__);
71187
71195
  /* harmony import */ var _loggerConnectivity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loggerConnectivity */ "../core/lib-esm/Providers/APIProvider/loggerConnectivity.js");
71188
71196
  /* harmony import */ var _types_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../types/types */ "../core/lib-esm/types/types.js");
71189
71197
  /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../ */ "../core/lib-esm/index.js");
71190
- /* harmony import */ var _CloudWatchEventFormatter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CloudWatchEventFormatter */ "../core/lib-esm/Providers/APIProvider/CloudWatchEventFormatter.js");
71191
- /* harmony import */ var _Fetch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Fetch */ "../core/lib-esm/Providers/APIProvider/Fetch.js");
71192
- /* harmony import */ var _Util_Constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Util/Constants */ "../core/lib-esm/Util/Constants.js");
71193
- /* harmony import */ var _Util_StringUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Util/StringUtils */ "../core/lib-esm/Util/StringUtils.js");
71198
+ /* harmony import */ var _Fetch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Fetch */ "../core/lib-esm/Providers/APIProvider/Fetch.js");
71199
+ /* harmony import */ var _Util_Constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../Util/Constants */ "../core/lib-esm/Util/Constants.js");
71200
+ /* harmony import */ var _Util_StringUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Util/StringUtils */ "../core/lib-esm/Util/StringUtils.js");
71194
71201
  function _typeof(obj) {
71195
71202
  "@babel/helpers - typeof";
71196
71203
 
@@ -71201,6 +71208,22 @@ function _typeof(obj) {
71201
71208
  }, _typeof(obj);
71202
71209
  }
71203
71210
 
71211
+ var __assign = undefined && undefined.__assign || function () {
71212
+ __assign = Object.assign || function (t) {
71213
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
71214
+ s = arguments[i];
71215
+
71216
+ for (var p in s) {
71217
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
71218
+ }
71219
+ }
71220
+
71221
+ return t;
71222
+ };
71223
+
71224
+ return __assign.apply(this, arguments);
71225
+ };
71226
+
71204
71227
  var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
71205
71228
  function adopt(value) {
71206
71229
  return value instanceof P ? value : new P(function (resolve) {
@@ -71386,7 +71409,6 @@ var __spread = undefined && undefined.__spread || function () {
71386
71409
 
71387
71410
 
71388
71411
 
71389
-
71390
71412
  var logger = new _Logger__WEBPACK_IMPORTED_MODULE_0__["ConsoleLogger"]('APILoggingProvider');
71391
71413
  var HTTPS = 'https';
71392
71414
  var LOCALHOST = 'http://localhost';
@@ -71434,28 +71456,50 @@ function () {
71434
71456
  }
71435
71457
  };
71436
71458
 
71437
- APILoggingProvider.prototype.pushLog = function (event) {
71459
+ APILoggingProvider.prototype.pushLogs = function (events) {
71460
+ var _this = this;
71461
+
71438
71462
  var _a;
71439
71463
 
71440
71464
  if (((_a = this.config) === null || _a === void 0 ? void 0 : _a.enabled) === false) {
71441
71465
  return;
71442
71466
  }
71443
71467
 
71444
- if (!this.verifyEvent(event)) {
71445
- return;
71446
- }
71468
+ events.forEach(function (event) {
71469
+ if (!Object(_types_types__WEBPACK_IMPORTED_MODULE_2__["isLoggerEvent"])(event)) {
71470
+ return;
71471
+ }
71447
71472
 
71448
- switch (this.config.eventFormat) {
71449
- case _types_types__WEBPACK_IMPORTED_MODULE_2__["EVENT_FORMAT"].CLOUDWATCH:
71450
- var cloudWatchEvent = Object(_CloudWatchEventFormatter__WEBPACK_IMPORTED_MODULE_4__["cloudWatchEventFromGeneric"])(event);
71451
- this.eventBuffer.push(cloudWatchEvent);
71452
- break;
71473
+ var message = event.message,
71474
+ timestamp = event.timestamp,
71475
+ _a = event.loggerInfo,
71476
+ level = _a.level,
71477
+ data = _a.data,
71478
+ name = _a.name,
71479
+ _b = _a.error,
71480
+ _c = _b === void 0 ? {} : _b,
71481
+ errorMessage = _c.message,
71482
+ errorName = _c.name;
71483
+
71484
+ var error = errorName && errorMessage && {
71485
+ errorMessage: errorMessage,
71486
+ errorName: errorName
71487
+ };
71488
+ var combinedEvent = {
71489
+ level: level,
71490
+ error: error,
71491
+ message: message,
71492
+ context: {
71493
+ category: name,
71494
+ data: __assign(__assign({}, data), _this.config.metadata),
71495
+ logTime: timestamp
71496
+ }
71497
+ };
71453
71498
 
71454
- case _types_types__WEBPACK_IMPORTED_MODULE_2__["EVENT_FORMAT"].GENERIC:
71455
- default:
71456
- this.eventBuffer.push(event);
71457
- break;
71458
- }
71499
+ if (_this.verifyEvent(combinedEvent)) {
71500
+ _this.eventBuffer.push(combinedEvent);
71501
+ }
71502
+ });
71459
71503
  };
71460
71504
 
71461
71505
  APILoggingProvider.prototype.validateConfig = function (config) {
@@ -71472,7 +71516,7 @@ function () {
71472
71516
  };
71473
71517
 
71474
71518
  APILoggingProvider.prototype.normalizeConfig = function (config) {
71475
- var _a, _b, _c, _d;
71519
+ var _a, _b, _c;
71476
71520
 
71477
71521
  var normalizedConfig = {
71478
71522
  endpoint: config.endpoint,
@@ -71480,8 +71524,7 @@ function () {
71480
71524
  metadata: config.metadata,
71481
71525
  enabled: (_a = config.enabled) !== null && _a !== void 0 ? _a : true,
71482
71526
  level: (_b = config.level) !== null && _b !== void 0 ? _b : _Logger__WEBPACK_IMPORTED_MODULE_0__["LOG_TYPE"].WARN,
71483
- eventFormat: (_c = config.eventFormat) !== null && _c !== void 0 ? _c : _types_types__WEBPACK_IMPORTED_MODULE_2__["EVENT_FORMAT"].CLOUDWATCH,
71484
- bufferInterval: (_d = config.bufferInterval) !== null && _d !== void 0 ? _d : DEFAULT_INTERVAL,
71527
+ bufferInterval: (_c = config.bufferInterval) !== null && _c !== void 0 ? _c : DEFAULT_INTERVAL,
71485
71528
  excludeClassList: config.excludeClassList instanceof Array ? __spread(DEFAULT_CLASS_EXCLUDE_LIST, config.excludeClassList) : DEFAULT_CLASS_EXCLUDE_LIST
71486
71529
  };
71487
71530
  return normalizedConfig;
@@ -71580,7 +71623,7 @@ function () {
71580
71623
 
71581
71624
  APILoggingProvider.prototype.verifyEvent = function (event) {
71582
71625
  var level = event.level,
71583
- source = event.source;
71626
+ context = event.context;
71584
71627
  var configLevelValue = _Logger__WEBPACK_IMPORTED_MODULE_0__["LOG_LEVELS"][this.config.level];
71585
71628
  var eventLevelValue = _Logger__WEBPACK_IMPORTED_MODULE_0__["LOG_LEVELS"][level];
71586
71629
 
@@ -71588,7 +71631,7 @@ function () {
71588
71631
  return false;
71589
71632
  }
71590
71633
 
71591
- if (this.config.excludeClassList.includes(source)) {
71634
+ if (this.config.excludeClassList.includes(context.category)) {
71592
71635
  return false;
71593
71636
  }
71594
71637
 
@@ -71604,7 +71647,7 @@ function () {
71604
71647
  return __generator(this, function (_a) {
71605
71648
  switch (_a.label) {
71606
71649
  case 0:
71607
- eventBatch = this.generateEventBatch(this.eventBuffer);
71650
+ eventBatch = this.genericLogEventBatch(this.eventBuffer);
71608
71651
 
71609
71652
  if (eventBatch.length < 1) {
71610
71653
  return [2
@@ -71613,15 +71656,14 @@ function () {
71613
71656
  }
71614
71657
 
71615
71658
  body = {
71616
- logEvents: eventBatch,
71617
- metadata: this.config.metadata
71659
+ logs: eventBatch
71618
71660
  };
71619
- options = Object(_Fetch__WEBPACK_IMPORTED_MODULE_5__["postOptions"])(body);
71661
+ options = Object(_Fetch__WEBPACK_IMPORTED_MODULE_4__["postOptions"])(body);
71620
71662
  return [4
71621
71663
  /*yield*/
71622
71664
  , Object(___WEBPACK_IMPORTED_MODULE_3__["jitteredExponentialRetry"])(function (endpoint, options) {
71623
71665
  return __awaiter(_this, void 0, void 0, function () {
71624
- var res, error_2;
71666
+ var error_2;
71625
71667
  return __generator(this, function (_a) {
71626
71668
  switch (_a.label) {
71627
71669
  case 0:
@@ -71632,8 +71674,9 @@ function () {
71632
71674
  , fetch(endpoint, options)];
71633
71675
 
71634
71676
  case 1:
71635
- res = _a.sent();
71636
- if (!res.ok) throw new Error("Request Failed. Status: " + res.status + " - " + res.statusText);
71677
+ _a.sent(); // fetch doesnt return info for no-cors request
71678
+
71679
+
71637
71680
  return [3
71638
71681
  /*break*/
71639
71682
  , 3];
@@ -71671,24 +71714,13 @@ function () {
71671
71714
  });
71672
71715
  };
71673
71716
 
71674
- APILoggingProvider.prototype.generateEventBatch = function (buffer) {
71675
- switch (this.config.eventFormat) {
71676
- case _types_types__WEBPACK_IMPORTED_MODULE_2__["EVENT_FORMAT"].CLOUDWATCH:
71677
- return Object(_CloudWatchEventFormatter__WEBPACK_IMPORTED_MODULE_4__["cloudWatchLogEventBatch"])(buffer);
71678
-
71679
- case _types_types__WEBPACK_IMPORTED_MODULE_2__["EVENT_FORMAT"].GENERIC:
71680
- default:
71681
- return this.genericLogEventBatch(buffer);
71682
- }
71683
- };
71684
-
71685
71717
  APILoggingProvider.prototype.genericLogEventBatch = function (buffer) {
71686
71718
  var totalByteSize = 0;
71687
71719
  var currentEventIdx = 0;
71688
71720
 
71689
71721
  while (currentEventIdx < buffer.length) {
71690
71722
  var currentEvent = buffer[currentEventIdx];
71691
- var eventSize = Object(_Util_StringUtils__WEBPACK_IMPORTED_MODULE_7__["getStringByteSize"])(JSON.stringify(currentEvent));
71723
+ var eventSize = Object(_Util_StringUtils__WEBPACK_IMPORTED_MODULE_6__["getStringByteSize"])(JSON.stringify(currentEvent));
71692
71724
 
71693
71725
  if (totalByteSize + eventSize > LAMBDA_PAYLOAD_LIMIT) {
71694
71726
  break;
@@ -71701,115 +71733,13 @@ function () {
71701
71733
  return buffer.slice(0, currentEventIdx);
71702
71734
  };
71703
71735
 
71704
- APILoggingProvider.PROVIDER_NAME = _Util_Constants__WEBPACK_IMPORTED_MODULE_6__["API_LOGGING_PROVIDER_NAME"];
71705
- APILoggingProvider.CATEGORY = _Util_Constants__WEBPACK_IMPORTED_MODULE_6__["API_LOGGING_PROVIDER_CATEGORY"];
71736
+ APILoggingProvider.PROVIDER_NAME = _Util_Constants__WEBPACK_IMPORTED_MODULE_5__["API_LOGGING_PROVIDER_NAME"];
71737
+ APILoggingProvider.CATEGORY = _Util_Constants__WEBPACK_IMPORTED_MODULE_5__["API_LOGGING_PROVIDER_CATEGORY"];
71706
71738
  return APILoggingProvider;
71707
71739
  }();
71708
71740
 
71709
71741
 
71710
71742
 
71711
- /***/ }),
71712
-
71713
- /***/ "../core/lib-esm/Providers/APIProvider/CloudWatchEventFormatter.js":
71714
- /*!*************************************************************************!*\
71715
- !*** ../core/lib-esm/Providers/APIProvider/CloudWatchEventFormatter.js ***!
71716
- \*************************************************************************/
71717
- /*! exports provided: cloudWatchEventFromGeneric, truncateOversizedEvent, cloudWatchLogEventBatch */
71718
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
71719
-
71720
- "use strict";
71721
- __webpack_require__.r(__webpack_exports__);
71722
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cloudWatchEventFromGeneric", function() { return cloudWatchEventFromGeneric; });
71723
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "truncateOversizedEvent", function() { return truncateOversizedEvent; });
71724
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cloudWatchLogEventBatch", function() { return cloudWatchLogEventBatch; });
71725
- /* harmony import */ var _Util_Constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Util/Constants */ "../core/lib-esm/Util/Constants.js");
71726
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../ */ "../core/lib-esm/index.js");
71727
- var __rest = undefined && undefined.__rest || function (s, e) {
71728
- var t = {};
71729
-
71730
- for (var p in s) {
71731
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
71732
- }
71733
-
71734
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
71735
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
71736
- }
71737
- return t;
71738
- };
71739
-
71740
-
71741
-
71742
- var logger = new ___WEBPACK_IMPORTED_MODULE_1__["ConsoleLogger"]('APILoggingProvider');
71743
- var TRUNCATE_MAX_LENGTH = 5000;
71744
- var cloudWatchEventFromGeneric = function cloudWatchEventFromGeneric(event) {
71745
- var timestamp = event.timestamp,
71746
- message = __rest(event, ["timestamp"]);
71747
-
71748
- return {
71749
- timestamp: timestamp,
71750
- message: JSON.stringify(message)
71751
- };
71752
- };
71753
- var truncateOversizedEvent = function truncateOversizedEvent(event) {
71754
- var timestamp = event.timestamp,
71755
- message = event.message;
71756
-
71757
- try {
71758
- var messageJson = JSON.parse(message);
71759
- var truncatedObj = {
71760
- level: messageJson.level,
71761
- "class": messageJson["class"],
71762
- message: messageJson.message.substring(0, TRUNCATE_MAX_LENGTH)
71763
- };
71764
-
71765
- if (messageJson.data != null) {
71766
- truncatedObj['data'] = "OBJECT SIZE EXCEEDS CLOUDWATCH EVENT LIMIT. Truncated: " + JSON.stringify(messageJson.data).substring(0, TRUNCATE_MAX_LENGTH);
71767
- }
71768
-
71769
- return {
71770
- timestamp: timestamp,
71771
- message: JSON.stringify(truncatedObj)
71772
- };
71773
- } catch (error) {
71774
- logger.warn('Could not truncate oversized event', error);
71775
- var truncated = JSON.stringify({
71776
- level: 'UNKNOWN',
71777
- "class": 'Unknown',
71778
- message: 'OBJECT SIZE EXCEEDS CLOUDWATCH EVENT LIMIT. Could not parse event to truncate'
71779
- });
71780
- return {
71781
- timestamp: timestamp,
71782
- message: truncated
71783
- };
71784
- }
71785
- };
71786
- var cloudWatchLogEventBatch = function cloudWatchLogEventBatch(buffer) {
71787
- var totalByteSize = 0;
71788
- var currentEventIdx = 0;
71789
-
71790
- while (currentEventIdx < buffer.length) {
71791
- var currentEvent = buffer[currentEventIdx];
71792
- var eventSize = Object(___WEBPACK_IMPORTED_MODULE_1__["getStringByteSize"])(currentEvent.message) + _Util_Constants__WEBPACK_IMPORTED_MODULE_0__["AWS_CLOUDWATCH_BASE_BUFFER_SIZE"];
71793
-
71794
- if (eventSize > _Util_Constants__WEBPACK_IMPORTED_MODULE_0__["AWS_CLOUDWATCH_MAX_EVENT_SIZE"]) {
71795
- var errString = "Log event exceeds maximum size for CloudWatch logs. Log size: " + eventSize + ". Truncating log message.";
71796
- logger.debug(errString);
71797
- currentEvent = truncateOversizedEvent(currentEvent);
71798
- buffer[currentEventIdx] = currentEvent;
71799
- eventSize = new TextEncoder().encode(currentEvent.message).length + _Util_Constants__WEBPACK_IMPORTED_MODULE_0__["AWS_CLOUDWATCH_BASE_BUFFER_SIZE"];
71800
- }
71801
-
71802
- if (totalByteSize + eventSize > _Util_Constants__WEBPACK_IMPORTED_MODULE_0__["AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE"]) {
71803
- break;
71804
- }
71805
-
71806
- totalByteSize += eventSize;
71807
- currentEventIdx += 1;
71808
- }
71809
-
71810
- return buffer.slice(0, currentEventIdx);
71811
- };
71812
-
71813
71743
  /***/ }),
71814
71744
 
71815
71745
  /***/ "../core/lib-esm/Providers/APIProvider/Fetch.js":
@@ -71825,7 +71755,7 @@ __webpack_require__.r(__webpack_exports__);
71825
71755
  var postOptions = function postOptions(body) {
71826
71756
  return {
71827
71757
  method: 'POST',
71828
- mode: 'cors',
71758
+ mode: 'no-cors',
71829
71759
  cache: 'no-cache',
71830
71760
  credentials: 'same-origin',
71831
71761
  headers: {
@@ -72442,7 +72372,15 @@ function () {
72442
72372
 
72443
72373
  AWSCloudWatchProvider.prototype.pushLogs = function (logs) {
72444
72374
  logger.debug('pushing log events to Cloudwatch...');
72445
- this._dataTracker.logEvents = __spread(this._dataTracker.logEvents, logs);
72375
+ var formattedLogs = logs.map(function (_a) {
72376
+ var message = _a.message,
72377
+ timestamp = _a.timestamp;
72378
+ return {
72379
+ message: message,
72380
+ timestamp: timestamp
72381
+ };
72382
+ });
72383
+ this._dataTracker.logEvents = __spread(this._dataTracker.logEvents, formattedLogs);
72446
72384
  };
72447
72385
 
72448
72386
  AWSCloudWatchProvider.prototype._validateLogGroupExistsAndCreate = function (logGroupName) {
@@ -75017,18 +74955,17 @@ var Constants = {
75017
74955
  /*!**************************************!*\
75018
74956
  !*** ../core/lib-esm/types/types.js ***!
75019
74957
  \**************************************/
75020
- /*! exports provided: EVENT_FORMAT */
74958
+ /*! exports provided: isLoggerEvent */
75021
74959
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
75022
74960
 
75023
74961
  "use strict";
75024
74962
  __webpack_require__.r(__webpack_exports__);
75025
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EVENT_FORMAT", function() { return EVENT_FORMAT; });
75026
- var EVENT_FORMAT;
75027
-
75028
- (function (EVENT_FORMAT) {
75029
- EVENT_FORMAT["GENERIC"] = "GENERIC";
75030
- EVENT_FORMAT["CLOUDWATCH"] = "CLOUDWATCH";
75031
- })(EVENT_FORMAT || (EVENT_FORMAT = {}));
74963
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isLoggerEvent", function() { return isLoggerEvent; });
74964
+ function isLoggerEvent(inputLogEvent) {
74965
+ return inputLogEvent && !!Object.keys(inputLogEvent).find(function (k) {
74966
+ return k === 'loggerInfo';
74967
+ });
74968
+ }
75032
74969
 
75033
74970
  /***/ }),
75034
74971