@aws-amplify/core 4.4.0 → 4.4.1-cloud-logging.7

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.
Files changed (48) hide show
  1. package/dist/aws-amplify-core.js +282 -104
  2. package/dist/aws-amplify-core.js.map +1 -1
  3. package/dist/aws-amplify-core.min.js +6 -6
  4. package/dist/aws-amplify-core.min.js.map +1 -1
  5. package/lib/Logger/ConsoleLogger.d.ts +6 -0
  6. package/lib/Logger/ConsoleLogger.js +117 -43
  7. package/lib/Logger/ConsoleLogger.js.map +1 -1
  8. package/lib/Platform/version.d.ts +1 -1
  9. package/lib/Platform/version.js +1 -1
  10. package/lib/Platform/version.js.map +1 -1
  11. package/lib/Providers/AWSCloudWatchProvider.d.ts +11 -3
  12. package/lib/Providers/AWSCloudWatchProvider.js +97 -37
  13. package/lib/Providers/AWSCloudWatchProvider.js.map +1 -1
  14. package/lib/Providers/AmazonKinesisLoggingProvider.d.ts +13 -0
  15. package/lib/Providers/AmazonKinesisLoggingProvider.js +30 -0
  16. package/lib/Providers/AmazonKinesisLoggingProvider.js.map +1 -0
  17. package/lib/Util/Constants.d.ts +3 -1
  18. package/lib/Util/Constants.js +5 -0
  19. package/lib/Util/Constants.js.map +1 -1
  20. package/lib/Util/Retry.js +1 -1
  21. package/lib/Util/Retry.js.map +1 -1
  22. package/lib/types/types.d.ts +13 -0
  23. package/lib-esm/Logger/ConsoleLogger.d.ts +6 -0
  24. package/lib-esm/Logger/ConsoleLogger.js +117 -43
  25. package/lib-esm/Logger/ConsoleLogger.js.map +1 -1
  26. package/lib-esm/Platform/version.d.ts +1 -1
  27. package/lib-esm/Platform/version.js +1 -1
  28. package/lib-esm/Platform/version.js.map +1 -1
  29. package/lib-esm/Providers/AWSCloudWatchProvider.d.ts +11 -3
  30. package/lib-esm/Providers/AWSCloudWatchProvider.js +97 -37
  31. package/lib-esm/Providers/AWSCloudWatchProvider.js.map +1 -1
  32. package/lib-esm/Providers/AmazonKinesisLoggingProvider.d.ts +13 -0
  33. package/lib-esm/Providers/AmazonKinesisLoggingProvider.js +28 -0
  34. package/lib-esm/Providers/AmazonKinesisLoggingProvider.js.map +1 -0
  35. package/lib-esm/Util/Constants.d.ts +3 -1
  36. package/lib-esm/Util/Constants.js +4 -1
  37. package/lib-esm/Util/Constants.js.map +1 -1
  38. package/lib-esm/Util/Retry.js +1 -1
  39. package/lib-esm/Util/Retry.js.map +1 -1
  40. package/lib-esm/types/types.d.ts +13 -0
  41. package/package.json +3 -2
  42. package/src/Logger/ConsoleLogger.ts +117 -34
  43. package/src/Platform/version.ts +1 -1
  44. package/src/Providers/AWSCloudWatchProvider.ts +112 -18
  45. package/src/Providers/AmazonKinesisLoggingProvider.ts +43 -0
  46. package/src/Util/Constants.ts +7 -0
  47. package/src/Util/Retry.ts +2 -3
  48. package/src/types/types.ts +79 -62
@@ -3,6 +3,8 @@ declare const AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE = 1048576;
3
3
  declare const AWS_CLOUDWATCH_MAX_EVENT_SIZE = 256000;
4
4
  declare const AWS_CLOUDWATCH_CATEGORY = "Logging";
5
5
  declare const AWS_CLOUDWATCH_PROVIDER_NAME = "AWSCloudWatch";
6
+ declare const AMAZON_KINESIS_LOGGING_CATEGORY = "KinesisLogging";
7
+ declare const AMAZON_KINESIS_LOGGING_PROVIDER_NAME = "AmazonKinesisLogging";
6
8
  declare const NO_CREDS_ERROR_STRING = "No credentials";
7
9
  declare const RETRY_ERROR_CODES: string[];
8
- export { AWS_CLOUDWATCH_BASE_BUFFER_SIZE, AWS_CLOUDWATCH_CATEGORY, AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE, AWS_CLOUDWATCH_MAX_EVENT_SIZE, AWS_CLOUDWATCH_PROVIDER_NAME, NO_CREDS_ERROR_STRING, RETRY_ERROR_CODES, };
10
+ export { AWS_CLOUDWATCH_BASE_BUFFER_SIZE, AWS_CLOUDWATCH_CATEGORY, AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE, AWS_CLOUDWATCH_MAX_EVENT_SIZE, AWS_CLOUDWATCH_PROVIDER_NAME, NO_CREDS_ERROR_STRING, RETRY_ERROR_CODES, AMAZON_KINESIS_LOGGING_PROVIDER_NAME, AMAZON_KINESIS_LOGGING_CATEGORY, };
@@ -13,6 +13,7 @@
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  // Logging constants
16
+ // Cloudwatch
16
17
  var AWS_CLOUDWATCH_BASE_BUFFER_SIZE = 26;
17
18
  exports.AWS_CLOUDWATCH_BASE_BUFFER_SIZE = AWS_CLOUDWATCH_BASE_BUFFER_SIZE;
18
19
  var AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE = 1048576;
@@ -23,6 +24,10 @@ var AWS_CLOUDWATCH_CATEGORY = 'Logging';
23
24
  exports.AWS_CLOUDWATCH_CATEGORY = AWS_CLOUDWATCH_CATEGORY;
24
25
  var AWS_CLOUDWATCH_PROVIDER_NAME = 'AWSCloudWatch';
25
26
  exports.AWS_CLOUDWATCH_PROVIDER_NAME = AWS_CLOUDWATCH_PROVIDER_NAME;
27
+ var AMAZON_KINESIS_LOGGING_CATEGORY = 'KinesisLogging';
28
+ exports.AMAZON_KINESIS_LOGGING_CATEGORY = AMAZON_KINESIS_LOGGING_CATEGORY;
29
+ var AMAZON_KINESIS_LOGGING_PROVIDER_NAME = 'AmazonKinesisLogging';
30
+ exports.AMAZON_KINESIS_LOGGING_PROVIDER_NAME = AMAZON_KINESIS_LOGGING_PROVIDER_NAME;
26
31
  var NO_CREDS_ERROR_STRING = 'No credentials';
27
32
  exports.NO_CREDS_ERROR_STRING = NO_CREDS_ERROR_STRING;
28
33
  var RETRY_ERROR_CODES = [
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../src/Util/Constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAEH,oBAAoB;AACpB,IAAM,+BAA+B,GAAG,EAAE,CAAC;AAY1C,0EAA+B;AAXhC,IAAM,mCAAmC,GAAG,OAAO,CAAC;AAanD,kFAAmC;AAZpC,IAAM,6BAA6B,GAAG,MAAM,CAAC;AAa5C,sEAA6B;AAZ9B,IAAM,uBAAuB,GAAG,SAAS,CAAC;AAUzC,0DAAuB;AATxB,IAAM,4BAA4B,GAAG,eAAe,CAAC;AAYpD,oEAA4B;AAX7B,IAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAY9C,sDAAqB;AAXtB,IAAM,iBAAiB,GAAG;IACzB,2BAA2B;IAC3B,+BAA+B;CAC/B,CAAC;AASD,8CAAiB"}
1
+ {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../src/Util/Constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAEH,oBAAoB;AACpB,aAAa;AACb,IAAM,+BAA+B,GAAG,EAAE,CAAC;AAgB1C,0EAA+B;AAfhC,IAAM,mCAAmC,GAAG,OAAO,CAAC;AAiBnD,kFAAmC;AAhBpC,IAAM,6BAA6B,GAAG,MAAM,CAAC;AAiB5C,sEAA6B;AAhB9B,IAAM,uBAAuB,GAAG,SAAS,CAAC;AAczC,0DAAuB;AAbxB,IAAM,4BAA4B,GAAG,eAAe,CAAC;AAgBpD,oEAA4B;AAd7B,IAAM,+BAA+B,GAAG,gBAAgB,CAAC;AAkBxD,0EAA+B;AAjBhC,IAAM,oCAAoC,GAAG,sBAAsB,CAAC;AAgBnE,oFAAoC;AAdrC,IAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAY9C,sDAAqB;AAXtB,IAAM,iBAAiB,GAAG;IACzB,2BAA2B;IAC3B,+BAA+B;CAC/B,CAAC;AASD,8CAAiB"}
package/lib/Util/Retry.js CHANGED
@@ -99,7 +99,7 @@ function retry(functionToRetry, args, delayFn, attempt) {
99
99
  if (typeof functionToRetry !== 'function') {
100
100
  throw Error('functionToRetry must be a function');
101
101
  }
102
- logger.debug(functionToRetry.name + " attempt #" + attempt + " with this vars: " + JSON.stringify(args));
102
+ logger.debug(functionToRetry.name + " attempt #" + attempt + " with this vars:", args);
103
103
  _a.label = 1;
104
104
  case 1:
105
105
  _a.trys.push([1, 3, , 8]);
@@ -1 +1 @@
1
- {"version":3,"file":"Retry.js","sourceRoot":"","sources":["../../src/Util/Retry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yDAAkE;AAClE,IAAM,MAAM,GAAG,IAAI,6BAAM,CAAC,MAAM,CAAC,CAAC;AAElC;IAAuC,qCAAK;IAE3C,2BAAY,OAAe;QAA3B,YACC,kBAAM,OAAO,CAAC,SACd;QAHe,kBAAY,GAAG,IAAI,CAAC;;IAGpC,CAAC;IACF,wBAAC;AAAD,CAAC,AALD,CAAuC,KAAK,GAK3C;AALY,8CAAiB;AAO9B,IAAM,mBAAmB,GAAG,UAAC,GAAQ;IACpC,IAAM,GAAG,GAA4B,cAAc,CAAC;IACpD,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF;;;GAGG;AACH,SAAsB,KAAK,CAC1B,eAAyB,EACzB,IAAW,EACX,OAAsB,EACtB,OAAmB;IAAnB,wBAAA,EAAA,WAAmB;;;;;;oBAEnB,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE;wBAC1C,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;qBAClD;oBACD,MAAM,CAAC,KAAK,CAEV,eAAe,CAAC,IAAI,kBACR,OAAO,yBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAG,CAC9D,CAAC;;;;oBAGM,qBAAM,eAAe,wBAAI,IAAI,IAAC;wBAArC,sBAAO,SAA8B,EAAC;;;oBAEtC,MAAM,CAAC,KAAK,CAAC,cAAY,eAAe,CAAC,IAAM,EAAE,KAAG,CAAC,CAAC;oBAEtD,IAAI,mBAAmB,CAAC,KAAG,CAAC,EAAE;wBAC7B,MAAM,CAAC,KAAK,CAAI,eAAe,CAAC,IAAI,yBAAsB,EAAE,KAAG,CAAC,CAAC;wBACjE,MAAM,KAAG,CAAC;qBACV;oBAEK,YAAU,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,KAAG,CAAC,CAAC;oBAC5C,MAAM,CAAC,KAAK,CAAI,eAAe,CAAC,IAAI,qBAAgB,SAAO,QAAK,CAAC,CAAC;yBAE9D,CAAA,SAAO,KAAK,KAAK,CAAA,EAAjB,wBAAiB;oBACpB,qBAAM,IAAI,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,UAAU,CAAC,GAAG,EAAE,SAAO,CAAC,EAAxB,CAAwB,CAAC,EAAA;;oBAAlD,SAAkD,CAAC;oBAC5C,qBAAM,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,EAAA;wBAA/D,sBAAO,SAAwD,EAAC;wBAEhE,MAAM,KAAG,CAAC;;;;;;CAGZ;AAnCD,sBAmCC;AAED,IAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnC,SAAS,eAAe,CAAC,UAAkB;IAC1C,IAAM,YAAY,GAAG,GAAG,CAAC;IACzB,IAAM,aAAa,GAAG,GAAG,CAAC;IAE1B,OAAO,UAAA,OAAO;QACb,IAAM,KAAK,GAAG,SAAA,CAAC,EAAI,OAAO,CAAA,GAAG,YAAY,GAAG,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1E,OAAO,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC,CAAC;AACH,CAAC;AAED;;;GAGG;AACU,QAAA,wBAAwB,GAAG,UACvC,eAAyB,EACzB,IAAW,EACX,UAAiC;IAAjC,2BAAA,EAAA,yBAAiC;IAC7B,OAAA,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;AAAzD,CAAyD,CAAC"}
1
+ {"version":3,"file":"Retry.js","sourceRoot":"","sources":["../../src/Util/Retry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yDAAkE;AAClE,IAAM,MAAM,GAAG,IAAI,6BAAM,CAAC,MAAM,CAAC,CAAC;AAElC;IAAuC,qCAAK;IAE3C,2BAAY,OAAe;QAA3B,YACC,kBAAM,OAAO,CAAC,SACd;QAHe,kBAAY,GAAG,IAAI,CAAC;;IAGpC,CAAC;IACF,wBAAC;AAAD,CAAC,AALD,CAAuC,KAAK,GAK3C;AALY,8CAAiB;AAO9B,IAAM,mBAAmB,GAAG,UAAC,GAAQ;IACpC,IAAM,GAAG,GAA4B,cAAc,CAAC;IACpD,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF;;;GAGG;AACH,SAAsB,KAAK,CAC1B,eAAyB,EACzB,IAAW,EACX,OAAsB,EACtB,OAAmB;IAAnB,wBAAA,EAAA,WAAmB;;;;;;oBAEnB,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE;wBAC1C,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;qBAClD;oBACD,MAAM,CAAC,KAAK,CACR,eAAe,CAAC,IAAI,kBAAa,OAAO,qBAAkB,EAC7D,IAAI,CACJ,CAAC;;;;oBAGM,qBAAM,eAAe,wBAAI,IAAI,IAAC;wBAArC,sBAAO,SAA8B,EAAC;;;oBAEtC,MAAM,CAAC,KAAK,CAAC,cAAY,eAAe,CAAC,IAAM,EAAE,KAAG,CAAC,CAAC;oBAEtD,IAAI,mBAAmB,CAAC,KAAG,CAAC,EAAE;wBAC7B,MAAM,CAAC,KAAK,CAAI,eAAe,CAAC,IAAI,yBAAsB,EAAE,KAAG,CAAC,CAAC;wBACjE,MAAM,KAAG,CAAC;qBACV;oBAEK,YAAU,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,KAAG,CAAC,CAAC;oBAC5C,MAAM,CAAC,KAAK,CAAI,eAAe,CAAC,IAAI,qBAAgB,SAAO,QAAK,CAAC,CAAC;yBAE9D,CAAA,SAAO,KAAK,KAAK,CAAA,EAAjB,wBAAiB;oBACpB,qBAAM,IAAI,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,UAAU,CAAC,GAAG,EAAE,SAAO,CAAC,EAAxB,CAAwB,CAAC,EAAA;;oBAAlD,SAAkD,CAAC;oBAC5C,qBAAM,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,EAAA;wBAA/D,sBAAO,SAAwD,EAAC;wBAEhE,MAAM,KAAG,CAAC;;;;;;CAGZ;AAlCD,sBAkCC;AAED,IAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnC,SAAS,eAAe,CAAC,UAAkB;IAC1C,IAAM,YAAY,GAAG,GAAG,CAAC;IACzB,IAAM,aAAa,GAAG,GAAG,CAAC;IAE1B,OAAO,UAAA,OAAO;QACb,IAAM,KAAK,GAAG,SAAA,CAAC,EAAI,OAAO,CAAA,GAAG,YAAY,GAAG,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1E,OAAO,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC,CAAC;AACH,CAAC;AAED;;;GAGG;AACU,QAAA,wBAAwB,GAAG,UACvC,eAAyB,EACzB,IAAW,EACX,UAAiC;IAAjC,2BAAA,EAAA,yBAAiC;IAC7B,OAAA,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;AAAzD,CAAyD,CAAC"}
@@ -28,6 +28,8 @@ export interface LoggingProvider {
28
28
  getCategoryName(): string;
29
29
  configure(config?: object): object;
30
30
  pushLogs(logs: InputLogEvent[]): void;
31
+ pause(): void;
32
+ resume(): void;
31
33
  }
32
34
  export interface AWSCloudWatchProviderOptions {
33
35
  logGroupName?: string;
@@ -36,8 +38,19 @@ export interface AWSCloudWatchProviderOptions {
36
38
  credentials?: Credentials;
37
39
  endpoint?: string;
38
40
  }
41
+ export interface AmplifyConfigure {
42
+ Logging: {
43
+ logGroupName: string;
44
+ logStreamName: string;
45
+ };
46
+ }
39
47
  export interface CloudWatchDataTracker {
40
48
  eventUploadInProgress: boolean;
41
49
  logEvents: InputLogEvent[];
42
50
  verifiedLogGroup?: LogGroup;
43
51
  }
52
+ export interface AmazonKinesisLoggerOptions {
53
+ region?: string;
54
+ credentials?: Credentials;
55
+ endpoint?: string;
56
+ }
@@ -16,15 +16,21 @@ export declare class ConsoleLogger implements Logger {
16
16
  level: LOG_TYPE | string;
17
17
  private _pluggables;
18
18
  private _config;
19
+ private static _globalpluggables;
19
20
  /**
20
21
  * @constructor
21
22
  * @param {string} name - Name of the logger
22
23
  */
23
24
  constructor(name: string, level?: LOG_TYPE | string);
24
25
  static LOG_LEVEL: any;
26
+ static CLOUD_LOG_LEVEL: any;
27
+ static globalPluggables(pluggable: LoggingProvider): void;
28
+ static clearGlobalPluggables(): void;
29
+ static connectivity: any;
25
30
  _padding(n: any): string;
26
31
  _ts(): string;
27
32
  configure(config?: object): object;
33
+ _checkPluggables(): void;
28
34
  /**
29
35
  * Write log
30
36
  * @method
@@ -49,6 +49,7 @@ var LOG_LEVELS = {
49
49
  WARN: 4,
50
50
  ERROR: 5,
51
51
  };
52
+ var COMPATIBLE_PLUGINS = [AWS_CLOUDWATCH_CATEGORY];
52
53
  export var LOG_TYPE;
53
54
  (function (LOG_TYPE) {
54
55
  LOG_TYPE["DEBUG"] = "DEBUG";
@@ -57,6 +58,13 @@ export var LOG_TYPE;
57
58
  LOG_TYPE["WARN"] = "WARN";
58
59
  LOG_TYPE["VERBOSE"] = "VERBOSE";
59
60
  })(LOG_TYPE || (LOG_TYPE = {}));
61
+ var cloudWatchExcludeList = [
62
+ 'AWSCloudWatch',
63
+ 'Amplify',
64
+ 'Credentials',
65
+ 'AuthClass',
66
+ 'CloudLogger',
67
+ ];
60
68
  /**
61
69
  * Write logs
62
70
  * @class Logger
@@ -71,7 +79,16 @@ var ConsoleLogger = /** @class */ (function () {
71
79
  this.name = name;
72
80
  this.level = level;
73
81
  this._pluggables = [];
82
+ this.addPluggable = this.addPluggable.bind(this);
74
83
  }
84
+ ConsoleLogger.globalPluggables = function (pluggable) {
85
+ if (pluggable && COMPATIBLE_PLUGINS.includes(pluggable.getCategoryName())) {
86
+ ConsoleLogger._globalpluggables.push(pluggable);
87
+ }
88
+ };
89
+ ConsoleLogger.clearGlobalPluggables = function () {
90
+ ConsoleLogger._globalpluggables = [];
91
+ };
75
92
  ConsoleLogger.prototype._padding = function (n) {
76
93
  return n < 10 ? '0' + n : '' + n;
77
94
  };
@@ -87,6 +104,17 @@ var ConsoleLogger = /** @class */ (function () {
87
104
  this._config = config;
88
105
  return this._config;
89
106
  };
107
+ ConsoleLogger.prototype._checkPluggables = function () {
108
+ if (this._pluggables.length !== ConsoleLogger._globalpluggables.length) {
109
+ if (ConsoleLogger._globalpluggables.length > 0) {
110
+ ConsoleLogger._globalpluggables.forEach(this.addPluggable);
111
+ return;
112
+ }
113
+ if (ConsoleLogger._globalpluggables.length === 0) {
114
+ this._pluggables = [];
115
+ }
116
+ }
117
+ };
90
118
  /**
91
119
  * Write log
92
120
  * @method
@@ -96,10 +124,41 @@ var ConsoleLogger = /** @class */ (function () {
96
124
  */
97
125
  ConsoleLogger.prototype._log = function (type) {
98
126
  var e_1, _a;
127
+ var _this = this;
99
128
  var msg = [];
100
129
  for (var _i = 1; _i < arguments.length; _i++) {
101
130
  msg[_i - 1] = arguments[_i];
102
131
  }
132
+ if (!cloudWatchExcludeList.includes(this.name)) {
133
+ this._checkPluggables();
134
+ }
135
+ var generateCloudMessage = function (msg) {
136
+ var message = '';
137
+ var data;
138
+ if (msg.length === 1 && typeof msg[0] === 'string') {
139
+ message = msg[0];
140
+ }
141
+ else if (msg.length === 1) {
142
+ data = msg[0];
143
+ }
144
+ else if (typeof msg[0] === 'string') {
145
+ var obj = msg.slice(1);
146
+ if (obj.length === 1) {
147
+ obj = obj[0];
148
+ }
149
+ message = msg[0];
150
+ data = obj;
151
+ }
152
+ else {
153
+ data = msg;
154
+ }
155
+ return JSON.stringify({
156
+ level: type,
157
+ class: _this.name,
158
+ message: message,
159
+ data: data,
160
+ });
161
+ };
103
162
  var logger_level_name = this.level;
104
163
  if (ConsoleLogger.LOG_LEVEL) {
105
164
  logger_level_name = ConsoleLogger.LOG_LEVEL;
@@ -109,52 +168,66 @@ var ConsoleLogger = /** @class */ (function () {
109
168
  }
110
169
  var logger_level = LOG_LEVELS[logger_level_name];
111
170
  var type_level = LOG_LEVELS[type];
112
- if (!(type_level >= logger_level)) {
113
- // Do nothing if type is not greater than or equal to logger level (handle undefined)
114
- return;
115
- }
116
- var log = console.log.bind(console);
117
- if (type === LOG_TYPE.ERROR && console.error) {
118
- log = console.error.bind(console);
119
- }
120
- if (type === LOG_TYPE.WARN && console.warn) {
121
- log = console.warn.bind(console);
122
- }
123
- var prefix = "[" + type + "] " + this._ts() + " " + this.name;
124
- var message = '';
125
- if (msg.length === 1 && typeof msg[0] === 'string') {
126
- message = prefix + " - " + msg[0];
127
- log(message);
128
- }
129
- else if (msg.length === 1) {
130
- message = prefix + " " + msg[0];
131
- log(prefix, msg[0]);
132
- }
133
- else if (typeof msg[0] === 'string') {
134
- var obj = msg.slice(1);
135
- if (obj.length === 1) {
136
- obj = obj[0];
171
+ if (type_level >= logger_level) {
172
+ var log = console.log.bind(console);
173
+ if (type === LOG_TYPE.ERROR && console.error) {
174
+ log = console.error.bind(console);
137
175
  }
138
- message = prefix + " - " + msg[0] + " " + obj;
139
- log(prefix + " - " + msg[0], obj);
140
- }
141
- else {
142
- message = prefix + " " + msg;
143
- log(prefix, msg);
144
- }
145
- try {
146
- for (var _b = __values(this._pluggables), _c = _b.next(); !_c.done; _c = _b.next()) {
147
- var plugin = _c.value;
148
- var logEvent = { message: message, timestamp: Date.now() };
149
- plugin.pushLogs([logEvent]);
176
+ if (type === LOG_TYPE.WARN && console.warn) {
177
+ log = console.warn.bind(console);
178
+ }
179
+ var prefix = "[" + type + "] " + this._ts() + " " + this.name;
180
+ var message = '';
181
+ var data = void 0;
182
+ if (msg.length === 1 && typeof msg[0] === 'string') {
183
+ message = msg[0];
184
+ log(prefix + " - " + message);
185
+ }
186
+ else if (msg.length === 1) {
187
+ data = msg[0];
188
+ log(prefix, data);
189
+ }
190
+ else if (typeof msg[0] === 'string') {
191
+ var obj = msg.slice(1);
192
+ if (obj.length === 1) {
193
+ obj = obj[0];
194
+ }
195
+ message = msg[0];
196
+ data = obj;
197
+ log(prefix + " - " + message, data);
198
+ }
199
+ else {
200
+ data = msg;
201
+ log(prefix, data);
150
202
  }
151
203
  }
152
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
153
- finally {
204
+ if (ConsoleLogger.CLOUD_LOG_LEVEL != null &&
205
+ !cloudWatchExcludeList.includes(this.name)) {
206
+ var cloudMessage = generateCloudMessage(msg);
154
207
  try {
155
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
208
+ for (var _b = __values(this._pluggables), _c = _b.next(); !_c.done; _c = _b.next()) {
209
+ var plugin = _c.value;
210
+ var logger_level_1 = LOG_LEVELS[ConsoleLogger.CLOUD_LOG_LEVEL];
211
+ var type_level_1 = LOG_LEVELS[type];
212
+ var logEvent = {
213
+ message: cloudMessage,
214
+ timestamp: Date.now(),
215
+ };
216
+ if (type_level_1 >= logger_level_1) {
217
+ plugin.pushLogs([logEvent]);
218
+ }
219
+ else {
220
+ plugin.pushLogs([]);
221
+ }
222
+ }
223
+ }
224
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
225
+ finally {
226
+ try {
227
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
228
+ }
229
+ finally { if (e_1) throw e_1.error; }
156
230
  }
157
- finally { if (e_1) throw e_1.error; }
158
231
  }
159
232
  };
160
233
  /**
@@ -236,15 +309,16 @@ var ConsoleLogger = /** @class */ (function () {
236
309
  this._log.apply(this, __spread([LOG_TYPE.VERBOSE], msg));
237
310
  };
238
311
  ConsoleLogger.prototype.addPluggable = function (pluggable) {
239
- if (pluggable && pluggable.getCategoryName() === AWS_CLOUDWATCH_CATEGORY) {
312
+ if (pluggable && COMPATIBLE_PLUGINS.includes(pluggable.getCategoryName())) {
240
313
  this._pluggables.push(pluggable);
241
- pluggable.configure(this._config);
242
314
  }
243
315
  };
244
316
  ConsoleLogger.prototype.listPluggables = function () {
245
317
  return this._pluggables;
246
318
  };
319
+ ConsoleLogger._globalpluggables = [];
247
320
  ConsoleLogger.LOG_LEVEL = null;
321
+ ConsoleLogger.CLOUD_LOG_LEVEL = null;
248
322
  return ConsoleLogger;
249
323
  }());
250
324
  export { ConsoleLogger };
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleLogger.js","sourceRoot":"","sources":["../../src/Logger/ConsoleLogger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConsoleLogger.js","sourceRoot":"","sources":["../../src/Logger/ConsoleLogger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const version = "4.3.14";
1
+ export declare const version = "4.4.0";
@@ -1,3 +1,3 @@
1
1
  // generated by genversion
2
- export var version = '4.3.14';
2
+ export var version = '4.4.0';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/Platform/version.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,MAAM,CAAC,IAAM,OAAO,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/Platform/version.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,MAAM,CAAC,IAAM,OAAO,GAAG,OAAO,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { CreateLogGroupCommandInput, CreateLogGroupCommandOutput, CreateLogStreamCommandInput, CreateLogStreamCommandOutput, DescribeLogGroupsCommandInput, DescribeLogGroupsCommandOutput, DescribeLogStreamsCommandInput, DescribeLogStreamsCommandOutput, GetLogEventsCommandInput, GetLogEventsCommandOutput, InputLogEvent } from '@aws-sdk/client-cloudwatch-logs';
2
- import { AWSCloudWatchProviderOptions, LoggingProvider } from '../types/types';
2
+ import { AWSCloudWatchProviderOptions, LoggingProvider, AmplifyConfigure } from '../types/types';
3
3
  declare class AWSCloudWatchProvider implements LoggingProvider {
4
4
  static readonly PROVIDER_NAME = "AWSCloudWatch";
5
5
  static readonly CATEGORY = "Logging";
@@ -8,17 +8,24 @@ declare class AWSCloudWatchProvider implements LoggingProvider {
8
8
  private _currentLogBatch;
9
9
  private _timer;
10
10
  private _nextSequenceToken;
11
- constructor(config?: AWSCloudWatchProviderOptions);
11
+ private _processing;
12
+ private _initialized;
13
+ private _preFlightCheck;
14
+ constructor(config?: AmplifyConfigure);
12
15
  getProviderName(): string;
13
16
  getCategoryName(): string;
14
17
  getLogQueue(): InputLogEvent[];
15
- configure(config?: AWSCloudWatchProviderOptions): AWSCloudWatchProviderOptions;
18
+ setPreFlightCheck(cb: any): void;
19
+ configure(config?: AmplifyConfigure): AWSCloudWatchProviderOptions;
16
20
  createLogGroup(params: CreateLogGroupCommandInput): Promise<CreateLogGroupCommandOutput>;
17
21
  getLogGroups(params: DescribeLogGroupsCommandInput): Promise<DescribeLogGroupsCommandOutput>;
18
22
  createLogStream(params: CreateLogStreamCommandInput): Promise<CreateLogStreamCommandOutput>;
19
23
  getLogStreams(params: DescribeLogStreamsCommandInput): Promise<DescribeLogStreamsCommandOutput>;
20
24
  getLogEvents(params: GetLogEventsCommandInput): Promise<GetLogEventsCommandOutput>;
21
25
  pushLogs(logs: InputLogEvent[]): void;
26
+ pause(): void;
27
+ resume(): void;
28
+ clear(): void;
22
29
  private _validateLogGroupExistsAndCreate;
23
30
  private _validateLogStreamExists;
24
31
  private _sendLogEvents;
@@ -26,6 +33,7 @@ declare class AWSCloudWatchProvider implements LoggingProvider {
26
33
  private _ensureCredentials;
27
34
  private _getNextSequenceToken;
28
35
  private _safeUploadLogEvents;
36
+ private truncateOversizedEvent;
29
37
  private _getBufferedBatchOfLogs;
30
38
  private _getNewSequenceTokenAndSubmit;
31
39
  private _initiateLogPushInterval;
@@ -46,42 +46,33 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
47
  }
48
48
  };
49
- var __read = (this && this.__read) || function (o, n) {
50
- var m = typeof Symbol === "function" && o[Symbol.iterator];
51
- if (!m) return o;
52
- var i = m.call(o), r, ar = [], e;
53
- try {
54
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
- }
56
- catch (error) { e = { error: error }; }
57
- finally {
58
- try {
59
- if (r && !r.done && (m = i["return"])) m.call(i);
60
- }
61
- finally { if (e) throw e.error; }
62
- }
63
- return ar;
64
- };
65
- var __spread = (this && this.__spread) || function () {
66
- for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
67
- return ar;
68
- };
69
49
  import { CloudWatchLogsClient, CreateLogGroupCommand, CreateLogStreamCommand, DescribeLogGroupsCommand, DescribeLogStreamsCommand, GetLogEventsCommand, PutLogEventsCommand, } from '@aws-sdk/client-cloudwatch-logs';
70
50
  import { Credentials } from '../..';
71
51
  import { ConsoleLogger as Logger } from '../Logger';
72
52
  import { getAmplifyUserAgent } from '../Platform';
73
53
  import { parseMobileHubConfig } from '../Parser';
74
54
  import { AWS_CLOUDWATCH_BASE_BUFFER_SIZE, AWS_CLOUDWATCH_CATEGORY, AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE, AWS_CLOUDWATCH_MAX_EVENT_SIZE, AWS_CLOUDWATCH_PROVIDER_NAME, NO_CREDS_ERROR_STRING, RETRY_ERROR_CODES, } from '../Util/Constants';
55
+ if (typeof window === 'undefined' ||
56
+ (typeof window === 'object' && !window.TextEncoder)) {
57
+ require('fast-text-encoding');
58
+ }
75
59
  var logger = new Logger('AWSCloudWatch');
60
+ var INTERVAL = 10000;
76
61
  var AWSCloudWatchProvider = /** @class */ (function () {
77
62
  function AWSCloudWatchProvider(config) {
78
- this.configure(config);
79
- this._dataTracker = {
80
- eventUploadInProgress: false,
81
- logEvents: [],
82
- };
83
- this._currentLogBatch = [];
84
- this._initiateLogPushInterval();
63
+ this._initialized = false;
64
+ console.log('cstr', config);
65
+ if (!this._initialized) {
66
+ this.configure(config);
67
+ this._dataTracker = {
68
+ eventUploadInProgress: false,
69
+ logEvents: [],
70
+ verifiedLogGroup: { logGroupName: this._config.logGroupName },
71
+ };
72
+ this._currentLogBatch = [];
73
+ this._initiateLogPushInterval();
74
+ this._initialized = true;
75
+ }
85
76
  }
86
77
  AWSCloudWatchProvider.prototype.getProviderName = function () {
87
78
  return AWSCloudWatchProvider.PROVIDER_NAME;
@@ -92,6 +83,11 @@ var AWSCloudWatchProvider = /** @class */ (function () {
92
83
  AWSCloudWatchProvider.prototype.getLogQueue = function () {
93
84
  return this._dataTracker.logEvents;
94
85
  };
86
+ AWSCloudWatchProvider.prototype.setPreFlightCheck = function (cb) {
87
+ if (typeof cb === 'function') {
88
+ this._preFlightCheck = cb;
89
+ }
90
+ };
95
91
  AWSCloudWatchProvider.prototype.configure = function (config) {
96
92
  if (!config)
97
93
  return this._config || {};
@@ -255,8 +251,22 @@ var AWSCloudWatchProvider = /** @class */ (function () {
255
251
  });
256
252
  };
257
253
  AWSCloudWatchProvider.prototype.pushLogs = function (logs) {
258
- logger.debug('pushing log events to Cloudwatch...');
259
- this._dataTracker.logEvents = __spread(this._dataTracker.logEvents, logs);
254
+ logger.debug('pushing log events to buffer');
255
+ this._dataTracker.logEvents = this._dataTracker.logEvents.concat(logs);
256
+ };
257
+ AWSCloudWatchProvider.prototype.pause = function () {
258
+ this._processing = false;
259
+ if (this._timer) {
260
+ clearInterval(this._timer);
261
+ }
262
+ };
263
+ AWSCloudWatchProvider.prototype.resume = function () {
264
+ this._processing = true;
265
+ this._initiateLogPushInterval();
266
+ };
267
+ AWSCloudWatchProvider.prototype.clear = function () {
268
+ this._dataTracker.logEvents = [];
269
+ this._currentLogBatch = [];
260
270
  };
261
271
  AWSCloudWatchProvider.prototype._validateLogGroupExistsAndCreate = function (logGroupName) {
262
272
  return __awaiter(this, void 0, void 0, function () {
@@ -460,9 +470,23 @@ var AWSCloudWatchProvider = /** @class */ (function () {
460
470
  return __generator(this, function (_a) {
461
471
  switch (_a.label) {
462
472
  case 0:
463
- _a.trys.push([0, 3, , 4]);
464
- return [4 /*yield*/, this._getNextSequenceToken()];
473
+ _a.trys.push([0, 4, , 5]);
474
+ return [4 /*yield*/, this._preFlightCheck()];
465
475
  case 1:
476
+ /**
477
+ * CloudWatch has restrictions on the size of the log events that get sent up.
478
+ * We need to track both the size of each event and the total size of the batch
479
+ * of logs.
480
+ *
481
+ * We also need to ensure that the logs in the batch are sorted in chronological order.
482
+ * https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html
483
+ */
484
+ if (!(_a.sent())) {
485
+ this.clear();
486
+ return [2 /*return*/];
487
+ }
488
+ return [4 /*yield*/, this._getNextSequenceToken()];
489
+ case 2:
466
490
  seqToken = _a.sent();
467
491
  logBatch = this._currentLogBatch.length === 0
468
492
  ? this._getBufferedBatchOfLogs()
@@ -475,13 +499,13 @@ var AWSCloudWatchProvider = /** @class */ (function () {
475
499
  };
476
500
  this._dataTracker.eventUploadInProgress = true;
477
501
  return [4 /*yield*/, this._sendLogEvents(putLogsPayload)];
478
- case 2:
502
+ case 3:
479
503
  sendLogEventsResponse = _a.sent();
480
504
  this._nextSequenceToken = sendLogEventsResponse.nextSequenceToken;
481
505
  this._dataTracker.eventUploadInProgress = false;
482
506
  this._currentLogBatch = [];
483
507
  return [2 /*return*/, sendLogEventsResponse];
484
- case 3:
508
+ case 4:
485
509
  err_5 = _a.sent();
486
510
  logger.error("error during _safeUploadLogEvents: " + err_5);
487
511
  if (RETRY_ERROR_CODES.includes(err_5.name)) {
@@ -495,12 +519,43 @@ var AWSCloudWatchProvider = /** @class */ (function () {
495
519
  this._dataTracker.eventUploadInProgress = false;
496
520
  throw err_5;
497
521
  }
498
- return [3 /*break*/, 4];
499
- case 4: return [2 /*return*/];
522
+ return [3 /*break*/, 5];
523
+ case 5: return [2 /*return*/];
500
524
  }
501
525
  });
502
526
  });
503
527
  };
528
+ AWSCloudWatchProvider.prototype.truncateOversizedEvent = function (event) {
529
+ var timestamp = event.timestamp, message = event.message;
530
+ var messageJson;
531
+ try {
532
+ messageJson = JSON.parse(message);
533
+ var truncated = JSON.stringify({
534
+ level: messageJson.level,
535
+ class: messageJson.class,
536
+ message: messageJson.message.substring(0, 500),
537
+ });
538
+ if (messageJson.data != null) {
539
+ truncated['data'] = "OBJECT SIZE EXCEEDS CLOUDWATCH EVENT LIMIT. Truncated: " + JSON.stringify(messageJson.data).substring(0, 500);
540
+ }
541
+ return {
542
+ timestamp: timestamp,
543
+ message: truncated,
544
+ };
545
+ }
546
+ catch (error) {
547
+ logger.warn('Could not minify oversized event', error);
548
+ var truncated = JSON.stringify({
549
+ level: 'UNKNOWN',
550
+ class: 'Unknown',
551
+ message: 'OBJECT SIZE EXCEEDS CLOUDWATCH EVENT LIMIT. Could not parse event to truncate',
552
+ });
553
+ return {
554
+ timestamp: timestamp,
555
+ message: truncated,
556
+ };
557
+ }
558
+ };
504
559
  AWSCloudWatchProvider.prototype._getBufferedBatchOfLogs = function () {
505
560
  /**
506
561
  * CloudWatch has restrictions on the size of the log events that get sent up.
@@ -521,7 +576,11 @@ var AWSCloudWatchProvider = /** @class */ (function () {
521
576
  if (eventSize > AWS_CLOUDWATCH_MAX_EVENT_SIZE) {
522
577
  var errString = "Log entry exceeds maximum size for CloudWatch logs. Log size: " + eventSize + ". Truncating log message.";
523
578
  logger.warn(errString);
524
- currentEvent.message = currentEvent.message.substring(0, eventSize);
579
+ currentEvent = this.truncateOversizedEvent(currentEvent);
580
+ this._dataTracker.logEvents[currentEventIdx] = currentEvent;
581
+ eventSize =
582
+ new TextEncoder().encode(currentEvent.message).length +
583
+ AWS_CLOUDWATCH_BASE_BUFFER_SIZE;
525
584
  }
526
585
  if (totalByteSize + eventSize > AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE)
527
586
  break;
@@ -580,11 +639,12 @@ var AWSCloudWatchProvider = /** @class */ (function () {
580
639
  case 3:
581
640
  err_7 = _a.sent();
582
641
  logger.error("error when calling _safeUploadLogEvents in the timer interval - " + err_7);
642
+ this.pause();
583
643
  return [3 /*break*/, 4];
584
644
  case 4: return [2 /*return*/];
585
645
  }
586
646
  });
587
- }); }, 2000);
647
+ }); }, INTERVAL);
588
648
  };
589
649
  AWSCloudWatchProvider.prototype._getDocUploadPermissibility = function () {
590
650
  return ((this._dataTracker.logEvents.length !== 0 ||