@crimson-education/browser-logger 3.0.5-enable-datadog-log → 3.0.5
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/lib/index.d.ts +12 -12
- package/lib/index.js +69 -69
- package/lib/logger/consoleTransport.d.ts +36 -36
- package/lib/logger/consoleTransport.js +80 -80
- package/lib/logger/datadogTransport.d.ts +7 -7
- package/lib/logger/datadogTransport.js +20 -20
- package/lib/logger/index.d.ts +15 -15
- package/lib/logger/index.js +147 -147
- package/lib/logger/index.test.d.ts +1 -1
- package/lib/logger/index.test.js +59 -59
- package/lib/logger/utils.d.ts +14 -14
- package/lib/logger/utils.js +31 -31
- package/lib/reporters/amplifyReporter.d.ts +85 -85
- package/lib/reporters/amplifyReporter.js +222 -222
- package/lib/reporters/amplifyReporter.test.d.ts +1 -1
- package/lib/reporters/amplifyReporter.test.js +50 -50
- package/lib/reporters/datadogReporter.d.ts +85 -85
- package/lib/reporters/datadogReporter.js +124 -124
- package/lib/reporters/datadogReporter.js.map +1 -1
- package/lib/reporters/gtmReporter.d.ts +8 -8
- package/lib/reporters/gtmReporter.js +56 -56
- package/lib/reporters/index.d.ts +66 -66
- package/lib/reporters/index.js +212 -212
- package/lib/reporters/logReporter.d.ts +34 -34
- package/lib/reporters/logReporter.js +61 -61
- package/lib/types/index.d.ts +2 -2
- package/lib/types/index.js +18 -18
- package/lib/types/logger.d.ts +77 -77
- package/lib/types/logger.js +10 -10
- package/lib/types/reporter.d.ts +154 -154
- package/lib/types/reporter.js +2 -2
- package/lib/utils.d.ts +9 -9
- package/lib/utils.js +31 -31
- package/lib/utils.test.d.ts +1 -1
- package/lib/utils.test.js +31 -31
- package/package.json +1 -1
- package/src/reporters/datadogReporter.ts +1 -1
package/lib/reporters/index.js
CHANGED
|
@@ -1,213 +1,213 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.recordSessionStop = exports.recordSession = exports.reportError = exports.setPageName = exports.setRouteName = exports.setUser = exports.addMetadata = exports.addBreadcrumb = exports.getLastTrackedEvent = exports.trackEventSinceLastAction = exports.trackEvent = exports.setEventLevel = exports.globalEventLevel = exports.reporters = void 0;
|
|
4
|
-
const utils_1 = require("../logger/utils");
|
|
5
|
-
const utils_2 = require("../utils");
|
|
6
|
-
exports.reporters = {};
|
|
7
|
-
/**
|
|
8
|
-
* Sets the global event level.
|
|
9
|
-
*/
|
|
10
|
-
function setEventLevel(level) {
|
|
11
|
-
exports.globalEventLevel = level !== null && level !== void 0 ? level : undefined;
|
|
12
|
-
}
|
|
13
|
-
exports.setEventLevel = setEventLevel;
|
|
14
|
-
/**
|
|
15
|
-
* Gets reporters, optionally with filters.
|
|
16
|
-
* @param filters Filters to remove or specify specific reporters.
|
|
17
|
-
* @returns Selected reporters, or all registered reporters.
|
|
18
|
-
*/
|
|
19
|
-
function getReporters(filters) {
|
|
20
|
-
let result = Object.entries(exports.reporters);
|
|
21
|
-
if (filters === null || filters === void 0 ? void 0 : filters.excludeReporters) {
|
|
22
|
-
result = result.filter(([key]) => { var _a; return !((_a = filters === null || filters === void 0 ? void 0 : filters.excludeReporters) === null || _a === void 0 ? void 0 : _a.includes(key)); });
|
|
23
|
-
}
|
|
24
|
-
if (filters === null || filters === void 0 ? void 0 : filters.toReporters) {
|
|
25
|
-
result = result.filter(([key]) => { var _a; return (_a = filters === null || filters === void 0 ? void 0 : filters.toReporters) === null || _a === void 0 ? void 0 : _a.includes(key); });
|
|
26
|
-
}
|
|
27
|
-
return result.map(([, reporter]) => reporter);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Tracks an Analytics event.
|
|
31
|
-
*/
|
|
32
|
-
function trackEvent(event) {
|
|
33
|
-
var _a;
|
|
34
|
-
if (exports.globalEventLevel && event.level && !(0, utils_1.isAboveLevel)(event.level, exports.globalEventLevel)) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
for (const reporter of getReporters(event)) {
|
|
38
|
-
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.trackEvent) === false) {
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
else if (reporter.eventLevel && event.level && !(0, utils_1.isAboveLevel)(event.level, reporter.eventLevel)) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
const reporterEvent = { ...event };
|
|
45
|
-
reporterEvent.metadata = (0, utils_2.filterReporterMetadata)(event.metadata, reporter);
|
|
46
|
-
reporterEvent.metrics = (0, utils_2.filterReporterMetadata)(event.metrics, reporter);
|
|
47
|
-
reporterEvent.tags = (0, utils_2.filterReporterMetadata)(event.tags, reporter);
|
|
48
|
-
reporter.trackEvent(reporterEvent);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.trackEvent = trackEvent;
|
|
52
|
-
/**
|
|
53
|
-
* Tracks an Analytics event, recording the time since the last event, if available.
|
|
54
|
-
*/
|
|
55
|
-
function trackEventSinceLastAction(event) {
|
|
56
|
-
if (exports.globalEventLevel && event.level && !(0, utils_1.isAboveLevel)(event.level, exports.globalEventLevel)) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
const lastEvent = getLastTrackedEvent();
|
|
60
|
-
if (lastEvent) {
|
|
61
|
-
const duration = new Date().getTime() - lastEvent.occurred.getTime();
|
|
62
|
-
trackEvent({
|
|
63
|
-
...event,
|
|
64
|
-
metadata: {
|
|
65
|
-
...event.metadata,
|
|
66
|
-
lastEventName: lastEvent.message,
|
|
67
|
-
timeSinceLastEvent: duration,
|
|
68
|
-
},
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
trackEvent(event);
|
|
73
|
-
}
|
|
74
|
-
sessionStorage.setItem('loggerLastEvent', JSON.stringify({ ...event, occurred: new Date() }));
|
|
75
|
-
}
|
|
76
|
-
exports.trackEventSinceLastAction = trackEventSinceLastAction;
|
|
77
|
-
/**
|
|
78
|
-
* Gets the last tracked event, if available.
|
|
79
|
-
*/
|
|
80
|
-
function getLastTrackedEvent() {
|
|
81
|
-
const eventStr = sessionStorage.getItem('loggerLastEvent');
|
|
82
|
-
if (!eventStr)
|
|
83
|
-
return null;
|
|
84
|
-
const event = JSON.parse(eventStr);
|
|
85
|
-
event.occurred = new Date(event.occurred);
|
|
86
|
-
return event;
|
|
87
|
-
}
|
|
88
|
-
exports.getLastTrackedEvent = getLastTrackedEvent;
|
|
89
|
-
/**
|
|
90
|
-
* Breadcrumbs to create a trail of events that happened prior to an issue.
|
|
91
|
-
* These events are very similar to traditional logs, but can record more rich structured data.
|
|
92
|
-
*/
|
|
93
|
-
function addBreadcrumb(breadcrumb) {
|
|
94
|
-
var _a, _b;
|
|
95
|
-
for (const reporter of getReporters(breadcrumb)) {
|
|
96
|
-
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.addBreadcrumb) === false) {
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
else if (breadcrumb.category && ((_b = reporter.ignoreBreadcrumbCategories) === null || _b === void 0 ? void 0 : _b.includes(breadcrumb.category))) {
|
|
100
|
-
continue;
|
|
101
|
-
}
|
|
102
|
-
const reporterBreadcrumb = { ...breadcrumb };
|
|
103
|
-
reporterBreadcrumb.metadata = (0, utils_2.filterReporterMetadata)(breadcrumb.metadata, reporter);
|
|
104
|
-
reporter.addBreadcrumb(reporterBreadcrumb);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
exports.addBreadcrumb = addBreadcrumb;
|
|
108
|
-
/**
|
|
109
|
-
* Adds global metadata to all events and logs.
|
|
110
|
-
* @param metadata Metadata to add.
|
|
111
|
-
* @param filters Optional filters to specify which reporters to add metadata to.
|
|
112
|
-
*/
|
|
113
|
-
function addMetadata(metadata, filters) {
|
|
114
|
-
var _a;
|
|
115
|
-
for (const reporter of getReporters(filters)) {
|
|
116
|
-
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.addMetadata) === false) {
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
reporter.addMetadata((0, utils_2.filterReporterMetadata)(metadata, reporter));
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
exports.addMetadata = addMetadata;
|
|
123
|
-
/**
|
|
124
|
-
* Sets the user information in Analytics.
|
|
125
|
-
* @param user User information, or null to clear.
|
|
126
|
-
* @param filters Optional filters to specify which reporters to set the user for.
|
|
127
|
-
*/
|
|
128
|
-
function setUser(user, filters) {
|
|
129
|
-
var _a;
|
|
130
|
-
for (const reporter of getReporters(filters)) {
|
|
131
|
-
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.setUser) === false) {
|
|
132
|
-
continue;
|
|
133
|
-
}
|
|
134
|
-
reporter.setUser(user);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
exports.setUser = setUser;
|
|
138
|
-
/**
|
|
139
|
-
* Sets the route name in Analytics.
|
|
140
|
-
* Some Analytics services use this differentiate SPA Route vs Page changes.
|
|
141
|
-
* @param routeName Name of the Route.
|
|
142
|
-
* @param filters Optional filters to specify which reporters to set the route name for.
|
|
143
|
-
*/
|
|
144
|
-
function setRouteName(routeName, filters) {
|
|
145
|
-
var _a;
|
|
146
|
-
for (const reporter of getReporters(filters)) {
|
|
147
|
-
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.setRouteName) === false) {
|
|
148
|
-
continue;
|
|
149
|
-
}
|
|
150
|
-
reporter.setRouteName(routeName);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
exports.setRouteName = setRouteName;
|
|
154
|
-
/**
|
|
155
|
-
* Sets the page name in Analytics.
|
|
156
|
-
* @param pageName Name of the Page.
|
|
157
|
-
* @param filters Optional filters to specify which reporters to set the page name for.
|
|
158
|
-
*/
|
|
159
|
-
function setPageName(pageName, filters) {
|
|
160
|
-
var _a;
|
|
161
|
-
for (const reporter of getReporters(filters)) {
|
|
162
|
-
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.setPageName) === false) {
|
|
163
|
-
continue;
|
|
164
|
-
}
|
|
165
|
-
reporter.setPageName(pageName);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
exports.setPageName = setPageName;
|
|
169
|
-
/**
|
|
170
|
-
* Reports an Error in Reporters that support error tracking.
|
|
171
|
-
* @param error Error data.
|
|
172
|
-
* @param metadata Metadata to add to the error.
|
|
173
|
-
* @param filters Optional filters to specify which reporters to report the error to.
|
|
174
|
-
*/
|
|
175
|
-
function reportError(error, metadata, filters) {
|
|
176
|
-
var _a, _b;
|
|
177
|
-
for (const reporter of getReporters(filters)) {
|
|
178
|
-
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.reportError) === false) {
|
|
179
|
-
continue;
|
|
180
|
-
}
|
|
181
|
-
(_b = reporter.reportError) === null || _b === void 0 ? void 0 : _b.call(reporter, error, (0, utils_2.filterReporterMetadata)(metadata, reporter));
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
exports.reportError = reportError;
|
|
185
|
-
/**
|
|
186
|
-
* Starts a session recording in Analytics, e.g. RUM Session Replay
|
|
187
|
-
* @param filters Optional filters to specify which reporters to start a session recording for.
|
|
188
|
-
*/
|
|
189
|
-
function recordSession(filters) {
|
|
190
|
-
var _a, _b;
|
|
191
|
-
for (const reporter of getReporters(filters)) {
|
|
192
|
-
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.recordSession) === false) {
|
|
193
|
-
continue;
|
|
194
|
-
}
|
|
195
|
-
(_b = reporter.recordSession) === null || _b === void 0 ? void 0 : _b.call(reporter);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
exports.recordSession = recordSession;
|
|
199
|
-
/**
|
|
200
|
-
* Stops a session recording in Analytics, e.g. RUM Session Replay
|
|
201
|
-
* @param filters Optional filters to specify which reporters to stop a session recording for.
|
|
202
|
-
*/
|
|
203
|
-
function recordSessionStop(filters) {
|
|
204
|
-
var _a, _b;
|
|
205
|
-
for (const reporter of getReporters(filters)) {
|
|
206
|
-
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.recordSessionStop) === false) {
|
|
207
|
-
continue;
|
|
208
|
-
}
|
|
209
|
-
(_b = reporter.recordSessionStop) === null || _b === void 0 ? void 0 : _b.call(reporter);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
exports.recordSessionStop = recordSessionStop;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.recordSessionStop = exports.recordSession = exports.reportError = exports.setPageName = exports.setRouteName = exports.setUser = exports.addMetadata = exports.addBreadcrumb = exports.getLastTrackedEvent = exports.trackEventSinceLastAction = exports.trackEvent = exports.setEventLevel = exports.globalEventLevel = exports.reporters = void 0;
|
|
4
|
+
const utils_1 = require("../logger/utils");
|
|
5
|
+
const utils_2 = require("../utils");
|
|
6
|
+
exports.reporters = {};
|
|
7
|
+
/**
|
|
8
|
+
* Sets the global event level.
|
|
9
|
+
*/
|
|
10
|
+
function setEventLevel(level) {
|
|
11
|
+
exports.globalEventLevel = level !== null && level !== void 0 ? level : undefined;
|
|
12
|
+
}
|
|
13
|
+
exports.setEventLevel = setEventLevel;
|
|
14
|
+
/**
|
|
15
|
+
* Gets reporters, optionally with filters.
|
|
16
|
+
* @param filters Filters to remove or specify specific reporters.
|
|
17
|
+
* @returns Selected reporters, or all registered reporters.
|
|
18
|
+
*/
|
|
19
|
+
function getReporters(filters) {
|
|
20
|
+
let result = Object.entries(exports.reporters);
|
|
21
|
+
if (filters === null || filters === void 0 ? void 0 : filters.excludeReporters) {
|
|
22
|
+
result = result.filter(([key]) => { var _a; return !((_a = filters === null || filters === void 0 ? void 0 : filters.excludeReporters) === null || _a === void 0 ? void 0 : _a.includes(key)); });
|
|
23
|
+
}
|
|
24
|
+
if (filters === null || filters === void 0 ? void 0 : filters.toReporters) {
|
|
25
|
+
result = result.filter(([key]) => { var _a; return (_a = filters === null || filters === void 0 ? void 0 : filters.toReporters) === null || _a === void 0 ? void 0 : _a.includes(key); });
|
|
26
|
+
}
|
|
27
|
+
return result.map(([, reporter]) => reporter);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Tracks an Analytics event.
|
|
31
|
+
*/
|
|
32
|
+
function trackEvent(event) {
|
|
33
|
+
var _a;
|
|
34
|
+
if (exports.globalEventLevel && event.level && !(0, utils_1.isAboveLevel)(event.level, exports.globalEventLevel)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
for (const reporter of getReporters(event)) {
|
|
38
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.trackEvent) === false) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
else if (reporter.eventLevel && event.level && !(0, utils_1.isAboveLevel)(event.level, reporter.eventLevel)) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const reporterEvent = { ...event };
|
|
45
|
+
reporterEvent.metadata = (0, utils_2.filterReporterMetadata)(event.metadata, reporter);
|
|
46
|
+
reporterEvent.metrics = (0, utils_2.filterReporterMetadata)(event.metrics, reporter);
|
|
47
|
+
reporterEvent.tags = (0, utils_2.filterReporterMetadata)(event.tags, reporter);
|
|
48
|
+
reporter.trackEvent(reporterEvent);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.trackEvent = trackEvent;
|
|
52
|
+
/**
|
|
53
|
+
* Tracks an Analytics event, recording the time since the last event, if available.
|
|
54
|
+
*/
|
|
55
|
+
function trackEventSinceLastAction(event) {
|
|
56
|
+
if (exports.globalEventLevel && event.level && !(0, utils_1.isAboveLevel)(event.level, exports.globalEventLevel)) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const lastEvent = getLastTrackedEvent();
|
|
60
|
+
if (lastEvent) {
|
|
61
|
+
const duration = new Date().getTime() - lastEvent.occurred.getTime();
|
|
62
|
+
trackEvent({
|
|
63
|
+
...event,
|
|
64
|
+
metadata: {
|
|
65
|
+
...event.metadata,
|
|
66
|
+
lastEventName: lastEvent.message,
|
|
67
|
+
timeSinceLastEvent: duration,
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
trackEvent(event);
|
|
73
|
+
}
|
|
74
|
+
sessionStorage.setItem('loggerLastEvent', JSON.stringify({ ...event, occurred: new Date() }));
|
|
75
|
+
}
|
|
76
|
+
exports.trackEventSinceLastAction = trackEventSinceLastAction;
|
|
77
|
+
/**
|
|
78
|
+
* Gets the last tracked event, if available.
|
|
79
|
+
*/
|
|
80
|
+
function getLastTrackedEvent() {
|
|
81
|
+
const eventStr = sessionStorage.getItem('loggerLastEvent');
|
|
82
|
+
if (!eventStr)
|
|
83
|
+
return null;
|
|
84
|
+
const event = JSON.parse(eventStr);
|
|
85
|
+
event.occurred = new Date(event.occurred);
|
|
86
|
+
return event;
|
|
87
|
+
}
|
|
88
|
+
exports.getLastTrackedEvent = getLastTrackedEvent;
|
|
89
|
+
/**
|
|
90
|
+
* Breadcrumbs to create a trail of events that happened prior to an issue.
|
|
91
|
+
* These events are very similar to traditional logs, but can record more rich structured data.
|
|
92
|
+
*/
|
|
93
|
+
function addBreadcrumb(breadcrumb) {
|
|
94
|
+
var _a, _b;
|
|
95
|
+
for (const reporter of getReporters(breadcrumb)) {
|
|
96
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.addBreadcrumb) === false) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
else if (breadcrumb.category && ((_b = reporter.ignoreBreadcrumbCategories) === null || _b === void 0 ? void 0 : _b.includes(breadcrumb.category))) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
const reporterBreadcrumb = { ...breadcrumb };
|
|
103
|
+
reporterBreadcrumb.metadata = (0, utils_2.filterReporterMetadata)(breadcrumb.metadata, reporter);
|
|
104
|
+
reporter.addBreadcrumb(reporterBreadcrumb);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.addBreadcrumb = addBreadcrumb;
|
|
108
|
+
/**
|
|
109
|
+
* Adds global metadata to all events and logs.
|
|
110
|
+
* @param metadata Metadata to add.
|
|
111
|
+
* @param filters Optional filters to specify which reporters to add metadata to.
|
|
112
|
+
*/
|
|
113
|
+
function addMetadata(metadata, filters) {
|
|
114
|
+
var _a;
|
|
115
|
+
for (const reporter of getReporters(filters)) {
|
|
116
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.addMetadata) === false) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
reporter.addMetadata((0, utils_2.filterReporterMetadata)(metadata, reporter));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
exports.addMetadata = addMetadata;
|
|
123
|
+
/**
|
|
124
|
+
* Sets the user information in Analytics.
|
|
125
|
+
* @param user User information, or null to clear.
|
|
126
|
+
* @param filters Optional filters to specify which reporters to set the user for.
|
|
127
|
+
*/
|
|
128
|
+
function setUser(user, filters) {
|
|
129
|
+
var _a;
|
|
130
|
+
for (const reporter of getReporters(filters)) {
|
|
131
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.setUser) === false) {
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
reporter.setUser(user);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.setUser = setUser;
|
|
138
|
+
/**
|
|
139
|
+
* Sets the route name in Analytics.
|
|
140
|
+
* Some Analytics services use this differentiate SPA Route vs Page changes.
|
|
141
|
+
* @param routeName Name of the Route.
|
|
142
|
+
* @param filters Optional filters to specify which reporters to set the route name for.
|
|
143
|
+
*/
|
|
144
|
+
function setRouteName(routeName, filters) {
|
|
145
|
+
var _a;
|
|
146
|
+
for (const reporter of getReporters(filters)) {
|
|
147
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.setRouteName) === false) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
reporter.setRouteName(routeName);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
exports.setRouteName = setRouteName;
|
|
154
|
+
/**
|
|
155
|
+
* Sets the page name in Analytics.
|
|
156
|
+
* @param pageName Name of the Page.
|
|
157
|
+
* @param filters Optional filters to specify which reporters to set the page name for.
|
|
158
|
+
*/
|
|
159
|
+
function setPageName(pageName, filters) {
|
|
160
|
+
var _a;
|
|
161
|
+
for (const reporter of getReporters(filters)) {
|
|
162
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.setPageName) === false) {
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
reporter.setPageName(pageName);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.setPageName = setPageName;
|
|
169
|
+
/**
|
|
170
|
+
* Reports an Error in Reporters that support error tracking.
|
|
171
|
+
* @param error Error data.
|
|
172
|
+
* @param metadata Metadata to add to the error.
|
|
173
|
+
* @param filters Optional filters to specify which reporters to report the error to.
|
|
174
|
+
*/
|
|
175
|
+
function reportError(error, metadata, filters) {
|
|
176
|
+
var _a, _b;
|
|
177
|
+
for (const reporter of getReporters(filters)) {
|
|
178
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.reportError) === false) {
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
(_b = reporter.reportError) === null || _b === void 0 ? void 0 : _b.call(reporter, error, (0, utils_2.filterReporterMetadata)(metadata, reporter));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
exports.reportError = reportError;
|
|
185
|
+
/**
|
|
186
|
+
* Starts a session recording in Analytics, e.g. RUM Session Replay
|
|
187
|
+
* @param filters Optional filters to specify which reporters to start a session recording for.
|
|
188
|
+
*/
|
|
189
|
+
function recordSession(filters) {
|
|
190
|
+
var _a, _b;
|
|
191
|
+
for (const reporter of getReporters(filters)) {
|
|
192
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.recordSession) === false) {
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
(_b = reporter.recordSession) === null || _b === void 0 ? void 0 : _b.call(reporter);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
exports.recordSession = recordSession;
|
|
199
|
+
/**
|
|
200
|
+
* Stops a session recording in Analytics, e.g. RUM Session Replay
|
|
201
|
+
* @param filters Optional filters to specify which reporters to stop a session recording for.
|
|
202
|
+
*/
|
|
203
|
+
function recordSessionStop(filters) {
|
|
204
|
+
var _a, _b;
|
|
205
|
+
for (const reporter of getReporters(filters)) {
|
|
206
|
+
if (((_a = reporter.endpoints) === null || _a === void 0 ? void 0 : _a.recordSessionStop) === false) {
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
(_b = reporter.recordSessionStop) === null || _b === void 0 ? void 0 : _b.call(reporter);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
exports.recordSessionStop = recordSessionStop;
|
|
213
213
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { IReporter, LogLevel, ReporterConfigBase, ServiceInfo } from '../types';
|
|
2
|
-
export interface LogReporterConfig extends ReporterConfigBase {
|
|
3
|
-
/**
|
|
4
|
-
* The fallback log level to apply to all trackEvent calls (if the event's level is not set).
|
|
5
|
-
* Defaults to info.
|
|
6
|
-
*/
|
|
7
|
-
trackEventDefaultLevel?: LogLevel;
|
|
8
|
-
/**
|
|
9
|
-
* The log level to apply to all addBreadcrumb calls.
|
|
10
|
-
* Defaults to info.
|
|
11
|
-
*/
|
|
12
|
-
addBreadcrumbLevel?: LogLevel;
|
|
13
|
-
/**
|
|
14
|
-
* The log level to apply to all setRouteName calls.
|
|
15
|
-
* Defaults to debug.
|
|
16
|
-
*/
|
|
17
|
-
setRouteNameLevel?: LogLevel;
|
|
18
|
-
/**
|
|
19
|
-
* The log level to apply to all setPageName calls.
|
|
20
|
-
* Defaults to debug.
|
|
21
|
-
*/
|
|
22
|
-
setPageNameLevel?: LogLevel;
|
|
23
|
-
/**
|
|
24
|
-
* The log level to apply to all recordSession calls.
|
|
25
|
-
* Defaults to debug.
|
|
26
|
-
*/
|
|
27
|
-
recordSessionLevel?: LogLevel;
|
|
28
|
-
/**
|
|
29
|
-
* The log level to apply to all recordSessionStop calls.
|
|
30
|
-
* Defaults to debug.
|
|
31
|
-
*/
|
|
32
|
-
recordSessionStopLevel?: LogLevel;
|
|
33
|
-
}
|
|
34
|
-
export declare function logReporter(info: ServiceInfo, config: LogReporterConfig): IReporter;
|
|
1
|
+
import { IReporter, LogLevel, ReporterConfigBase, ServiceInfo } from '../types';
|
|
2
|
+
export interface LogReporterConfig extends ReporterConfigBase {
|
|
3
|
+
/**
|
|
4
|
+
* The fallback log level to apply to all trackEvent calls (if the event's level is not set).
|
|
5
|
+
* Defaults to info.
|
|
6
|
+
*/
|
|
7
|
+
trackEventDefaultLevel?: LogLevel;
|
|
8
|
+
/**
|
|
9
|
+
* The log level to apply to all addBreadcrumb calls.
|
|
10
|
+
* Defaults to info.
|
|
11
|
+
*/
|
|
12
|
+
addBreadcrumbLevel?: LogLevel;
|
|
13
|
+
/**
|
|
14
|
+
* The log level to apply to all setRouteName calls.
|
|
15
|
+
* Defaults to debug.
|
|
16
|
+
*/
|
|
17
|
+
setRouteNameLevel?: LogLevel;
|
|
18
|
+
/**
|
|
19
|
+
* The log level to apply to all setPageName calls.
|
|
20
|
+
* Defaults to debug.
|
|
21
|
+
*/
|
|
22
|
+
setPageNameLevel?: LogLevel;
|
|
23
|
+
/**
|
|
24
|
+
* The log level to apply to all recordSession calls.
|
|
25
|
+
* Defaults to debug.
|
|
26
|
+
*/
|
|
27
|
+
recordSessionLevel?: LogLevel;
|
|
28
|
+
/**
|
|
29
|
+
* The log level to apply to all recordSessionStop calls.
|
|
30
|
+
* Defaults to debug.
|
|
31
|
+
*/
|
|
32
|
+
recordSessionStopLevel?: LogLevel;
|
|
33
|
+
}
|
|
34
|
+
export declare function logReporter(info: ServiceInfo, config: LogReporterConfig): IReporter;
|
|
35
35
|
//# sourceMappingURL=logReporter.d.ts.map
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.logReporter = void 0;
|
|
4
|
-
const logger_1 = require("../logger");
|
|
5
|
-
const types_1 = require("../types");
|
|
6
|
-
function logReporter(info, config) {
|
|
7
|
-
const reporter = {
|
|
8
|
-
...config,
|
|
9
|
-
trackEvent(event) {
|
|
10
|
-
var _a, _b, _c, _d, _e;
|
|
11
|
-
// config.trackEventLevel and config.level overrides event.level here, as it is an override, while config.trackEventDefaultLevel is a fallback.
|
|
12
|
-
const level = (_b = (_a = event.level) !== null && _a !== void 0 ? _a : config.trackEventDefaultLevel) !== null && _b !== void 0 ? _b : types_1.LogLevel.Info;
|
|
13
|
-
logger_1.logger.log(level, event.message, {
|
|
14
|
-
...((_c = event.metadata) !== null && _c !== void 0 ? _c : {}),
|
|
15
|
-
...((_d = event.metrics) !== null && _d !== void 0 ? _d : {}),
|
|
16
|
-
...((_e = event.tags) !== null && _e !== void 0 ? _e : {}),
|
|
17
|
-
});
|
|
18
|
-
},
|
|
19
|
-
addBreadcrumb(breadcrumb) {
|
|
20
|
-
var _a, _b;
|
|
21
|
-
const level = (_a = config.addBreadcrumbLevel) !== null && _a !== void 0 ? _a : types_1.LogLevel.Info;
|
|
22
|
-
logger_1.logger.log(level, breadcrumb.message, {
|
|
23
|
-
...((_b = breadcrumb.metadata) !== null && _b !== void 0 ? _b : {}),
|
|
24
|
-
category: breadcrumb.category,
|
|
25
|
-
});
|
|
26
|
-
},
|
|
27
|
-
addMetadata(metadata) {
|
|
28
|
-
Object.assign(logger_1.globalMetadata, metadata);
|
|
29
|
-
},
|
|
30
|
-
setUser(user) {
|
|
31
|
-
Object.assign(logger_1.globalMetadata, { user });
|
|
32
|
-
},
|
|
33
|
-
setRouteName(routeName) {
|
|
34
|
-
var _a;
|
|
35
|
-
Object.assign(logger_1.globalMetadata, { routeName });
|
|
36
|
-
const level = (_a = config.setRouteNameLevel) !== null && _a !== void 0 ? _a : types_1.LogLevel.Debug;
|
|
37
|
-
logger_1.logger.log(level, `Route changed to ${routeName}`);
|
|
38
|
-
},
|
|
39
|
-
setPageName(pageName) {
|
|
40
|
-
var _a;
|
|
41
|
-
Object.assign(logger_1.globalMetadata, { pageName });
|
|
42
|
-
const level = (_a = config.setPageNameLevel) !== null && _a !== void 0 ? _a : types_1.LogLevel.Debug;
|
|
43
|
-
logger_1.logger.log(level, `Page changed to ${pageName}`);
|
|
44
|
-
},
|
|
45
|
-
reportError(error, metadata) {
|
|
46
|
-
logger_1.logger.error(typeof error === 'string' ? error : error.message, { ...metadata, error });
|
|
47
|
-
},
|
|
48
|
-
recordSession() {
|
|
49
|
-
var _a;
|
|
50
|
-
const level = (_a = config.recordSessionLevel) !== null && _a !== void 0 ? _a : types_1.LogLevel.Debug;
|
|
51
|
-
logger_1.logger.log(level, 'Recording Session');
|
|
52
|
-
},
|
|
53
|
-
recordSessionStop() {
|
|
54
|
-
var _a;
|
|
55
|
-
const level = (_a = config.recordSessionStopLevel) !== null && _a !== void 0 ? _a : types_1.LogLevel.Debug;
|
|
56
|
-
logger_1.logger.log(level, 'Recording Session Stopping');
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
return reporter;
|
|
60
|
-
}
|
|
61
|
-
exports.logReporter = logReporter;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.logReporter = void 0;
|
|
4
|
+
const logger_1 = require("../logger");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
function logReporter(info, config) {
|
|
7
|
+
const reporter = {
|
|
8
|
+
...config,
|
|
9
|
+
trackEvent(event) {
|
|
10
|
+
var _a, _b, _c, _d, _e;
|
|
11
|
+
// config.trackEventLevel and config.level overrides event.level here, as it is an override, while config.trackEventDefaultLevel is a fallback.
|
|
12
|
+
const level = (_b = (_a = event.level) !== null && _a !== void 0 ? _a : config.trackEventDefaultLevel) !== null && _b !== void 0 ? _b : types_1.LogLevel.Info;
|
|
13
|
+
logger_1.logger.log(level, event.message, {
|
|
14
|
+
...((_c = event.metadata) !== null && _c !== void 0 ? _c : {}),
|
|
15
|
+
...((_d = event.metrics) !== null && _d !== void 0 ? _d : {}),
|
|
16
|
+
...((_e = event.tags) !== null && _e !== void 0 ? _e : {}),
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
addBreadcrumb(breadcrumb) {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
const level = (_a = config.addBreadcrumbLevel) !== null && _a !== void 0 ? _a : types_1.LogLevel.Info;
|
|
22
|
+
logger_1.logger.log(level, breadcrumb.message, {
|
|
23
|
+
...((_b = breadcrumb.metadata) !== null && _b !== void 0 ? _b : {}),
|
|
24
|
+
category: breadcrumb.category,
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
addMetadata(metadata) {
|
|
28
|
+
Object.assign(logger_1.globalMetadata, metadata);
|
|
29
|
+
},
|
|
30
|
+
setUser(user) {
|
|
31
|
+
Object.assign(logger_1.globalMetadata, { user });
|
|
32
|
+
},
|
|
33
|
+
setRouteName(routeName) {
|
|
34
|
+
var _a;
|
|
35
|
+
Object.assign(logger_1.globalMetadata, { routeName });
|
|
36
|
+
const level = (_a = config.setRouteNameLevel) !== null && _a !== void 0 ? _a : types_1.LogLevel.Debug;
|
|
37
|
+
logger_1.logger.log(level, `Route changed to ${routeName}`);
|
|
38
|
+
},
|
|
39
|
+
setPageName(pageName) {
|
|
40
|
+
var _a;
|
|
41
|
+
Object.assign(logger_1.globalMetadata, { pageName });
|
|
42
|
+
const level = (_a = config.setPageNameLevel) !== null && _a !== void 0 ? _a : types_1.LogLevel.Debug;
|
|
43
|
+
logger_1.logger.log(level, `Page changed to ${pageName}`);
|
|
44
|
+
},
|
|
45
|
+
reportError(error, metadata) {
|
|
46
|
+
logger_1.logger.error(typeof error === 'string' ? error : error.message, { ...metadata, error });
|
|
47
|
+
},
|
|
48
|
+
recordSession() {
|
|
49
|
+
var _a;
|
|
50
|
+
const level = (_a = config.recordSessionLevel) !== null && _a !== void 0 ? _a : types_1.LogLevel.Debug;
|
|
51
|
+
logger_1.logger.log(level, 'Recording Session');
|
|
52
|
+
},
|
|
53
|
+
recordSessionStop() {
|
|
54
|
+
var _a;
|
|
55
|
+
const level = (_a = config.recordSessionStopLevel) !== null && _a !== void 0 ? _a : types_1.LogLevel.Debug;
|
|
56
|
+
logger_1.logger.log(level, 'Recording Session Stopping');
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
return reporter;
|
|
60
|
+
}
|
|
61
|
+
exports.logReporter = logReporter;
|
|
62
62
|
//# sourceMappingURL=logReporter.js.map
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './logger';
|
|
2
|
-
export * from './reporter';
|
|
1
|
+
export * from './logger';
|
|
2
|
+
export * from './reporter';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|