@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.
- package/dist/aws-amplify-core.js +282 -104
- package/dist/aws-amplify-core.js.map +1 -1
- package/dist/aws-amplify-core.min.js +6 -6
- package/dist/aws-amplify-core.min.js.map +1 -1
- package/lib/Logger/ConsoleLogger.d.ts +6 -0
- package/lib/Logger/ConsoleLogger.js +117 -43
- package/lib/Logger/ConsoleLogger.js.map +1 -1
- package/lib/Platform/version.d.ts +1 -1
- package/lib/Platform/version.js +1 -1
- package/lib/Platform/version.js.map +1 -1
- package/lib/Providers/AWSCloudWatchProvider.d.ts +11 -3
- package/lib/Providers/AWSCloudWatchProvider.js +97 -37
- package/lib/Providers/AWSCloudWatchProvider.js.map +1 -1
- package/lib/Providers/AmazonKinesisLoggingProvider.d.ts +13 -0
- package/lib/Providers/AmazonKinesisLoggingProvider.js +30 -0
- package/lib/Providers/AmazonKinesisLoggingProvider.js.map +1 -0
- package/lib/Util/Constants.d.ts +3 -1
- package/lib/Util/Constants.js +5 -0
- package/lib/Util/Constants.js.map +1 -1
- package/lib/Util/Retry.js +1 -1
- package/lib/Util/Retry.js.map +1 -1
- package/lib/types/types.d.ts +13 -0
- package/lib-esm/Logger/ConsoleLogger.d.ts +6 -0
- package/lib-esm/Logger/ConsoleLogger.js +117 -43
- package/lib-esm/Logger/ConsoleLogger.js.map +1 -1
- package/lib-esm/Platform/version.d.ts +1 -1
- package/lib-esm/Platform/version.js +1 -1
- package/lib-esm/Platform/version.js.map +1 -1
- package/lib-esm/Providers/AWSCloudWatchProvider.d.ts +11 -3
- package/lib-esm/Providers/AWSCloudWatchProvider.js +97 -37
- package/lib-esm/Providers/AWSCloudWatchProvider.js.map +1 -1
- package/lib-esm/Providers/AmazonKinesisLoggingProvider.d.ts +13 -0
- package/lib-esm/Providers/AmazonKinesisLoggingProvider.js +28 -0
- package/lib-esm/Providers/AmazonKinesisLoggingProvider.js.map +1 -0
- package/lib-esm/Util/Constants.d.ts +3 -1
- package/lib-esm/Util/Constants.js +4 -1
- package/lib-esm/Util/Constants.js.map +1 -1
- package/lib-esm/Util/Retry.js +1 -1
- package/lib-esm/Util/Retry.js.map +1 -1
- package/lib-esm/types/types.d.ts +13 -0
- package/package.json +3 -2
- package/src/Logger/ConsoleLogger.ts +117 -34
- package/src/Platform/version.ts +1 -1
- package/src/Providers/AWSCloudWatchProvider.ts +112 -18
- package/src/Providers/AmazonKinesisLoggingProvider.ts +43 -0
- package/src/Util/Constants.ts +7 -0
- package/src/Util/Retry.ts +2 -3
- package/src/types/types.ts +79 -62
package/lib/Util/Constants.d.ts
CHANGED
|
@@ -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, };
|
package/lib/Util/Constants.js
CHANGED
|
@@ -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;
|
|
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:
|
|
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]);
|
package/lib/Util/Retry.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/lib/types/types.d.ts
CHANGED
|
@@ -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 (
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
message =
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
-
|
|
153
|
-
|
|
204
|
+
if (ConsoleLogger.CLOUD_LOG_LEVEL != null &&
|
|
205
|
+
!cloudWatchExcludeList.includes(this.name)) {
|
|
206
|
+
var cloudMessage = generateCloudMessage(msg);
|
|
154
207
|
try {
|
|
155
|
-
|
|
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()
|
|
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":"AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,IAAM,UAAU,GAAG;IAClB,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IACnB,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,+BAAmB,CAAA;AACpB,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAED;;;GAGG;AACH;
|
|
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.
|
|
1
|
+
export declare const version = "4.4.0";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/Platform/version.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,MAAM,CAAC,IAAM,OAAO,GAAG,
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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
|
|
259
|
-
this._dataTracker.logEvents =
|
|
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,
|
|
464
|
-
return [4 /*yield*/, this.
|
|
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
|
|
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
|
|
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*/,
|
|
499
|
-
case
|
|
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
|
|
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
|
-
}); },
|
|
647
|
+
}); }, INTERVAL);
|
|
588
648
|
};
|
|
589
649
|
AWSCloudWatchProvider.prototype._getDocUploadPermissibility = function () {
|
|
590
650
|
return ((this._dataTracker.logEvents.length !== 0 ||
|