@cloudcare/browser-logs 3.0.23 → 3.1.0
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/bundle/dataflux-logs.js +1 -1
- package/cjs/boot/buildEnv.js +3 -2
- package/cjs/boot/buildEnv.js.map +1 -0
- package/cjs/boot/logsPublicApi.js +22 -50
- package/cjs/boot/logsPublicApi.js.map +1 -0
- package/cjs/boot/startLogs.js +34 -19
- package/cjs/boot/startLogs.js.map +1 -0
- package/cjs/domain/assembly.js +3 -17
- package/cjs/domain/assembly.js.map +1 -0
- package/cjs/domain/configuration.js +2 -12
- package/cjs/domain/configuration.js.map +1 -0
- package/cjs/domain/internalContext.js +2 -3
- package/cjs/domain/internalContext.js.map +1 -0
- package/cjs/domain/logger.js +46 -25
- package/cjs/domain/logger.js.map +1 -0
- package/cjs/domain/logsCollection/console/consoleCollection.js +6 -8
- package/cjs/domain/logsCollection/console/consoleCollection.js.map +1 -0
- package/cjs/domain/logsCollection/logger/loggerCollection.js +6 -12
- package/cjs/domain/logsCollection/logger/loggerCollection.js.map +1 -0
- package/cjs/domain/logsCollection/networkError/networkErrorCollection.js +8 -26
- package/cjs/domain/logsCollection/networkError/networkErrorCollection.js.map +1 -0
- package/cjs/domain/logsCollection/report/reportCollection.js +7 -11
- package/cjs/domain/logsCollection/report/reportCollection.js.map +1 -0
- package/cjs/domain/logsCollection/rumtimeError/runtimeErrorCollection.js +2 -8
- package/cjs/domain/logsCollection/rumtimeError/runtimeErrorCollection.js.map +1 -0
- package/cjs/domain/logsSessionManager.js +2 -9
- package/cjs/domain/logsSessionManager.js.map +1 -0
- package/cjs/entries/main.js +2 -5
- package/cjs/entries/main.js.map +1 -0
- package/cjs/index.js +2 -2
- package/cjs/index.js.map +1 -0
- package/cjs/transport/startLogsBatch.js +2 -3
- package/cjs/transport/startLogsBatch.js.map +1 -0
- package/cjs/transport/startLogsBridge.js +14 -0
- package/cjs/transport/startLogsBridge.js.map +1 -0
- package/esm/boot/buildEnv.js +3 -2
- package/esm/boot/buildEnv.js.map +1 -0
- package/esm/boot/logsPublicApi.js +23 -46
- package/esm/boot/logsPublicApi.js.map +1 -0
- package/esm/boot/startLogs.js +36 -9
- package/esm/boot/startLogs.js.map +1 -0
- package/esm/domain/assembly.js +3 -9
- package/esm/domain/assembly.js.map +1 -0
- package/esm/domain/configuration.js +2 -7
- package/esm/domain/configuration.js.map +1 -0
- package/esm/domain/internalContext.js +2 -2
- package/esm/domain/internalContext.js.map +1 -0
- package/esm/domain/logger.js +47 -22
- package/esm/domain/logger.js.map +1 -0
- package/esm/domain/logsCollection/console/consoleCollection.js +6 -4
- package/esm/domain/logsCollection/console/consoleCollection.js.map +1 -0
- package/esm/domain/logsCollection/logger/loggerCollection.js +6 -7
- package/esm/domain/logsCollection/logger/loggerCollection.js.map +1 -0
- package/esm/domain/logsCollection/networkError/networkErrorCollection.js +9 -21
- package/esm/domain/logsCollection/networkError/networkErrorCollection.js.map +1 -0
- package/esm/domain/logsCollection/report/reportCollection.js +7 -7
- package/esm/domain/logsCollection/report/reportCollection.js.map +1 -0
- package/esm/domain/logsCollection/rumtimeError/runtimeErrorCollection.js +2 -5
- package/esm/domain/logsCollection/rumtimeError/runtimeErrorCollection.js.map +1 -0
- package/esm/domain/logsSessionManager.js +2 -5
- package/esm/domain/logsSessionManager.js.map +1 -0
- package/esm/entries/main.js +2 -1
- package/esm/entries/main.js.map +1 -0
- package/esm/index.js +2 -1
- package/esm/index.js.map +1 -0
- package/esm/transport/startLogsBatch.js +2 -1
- package/esm/transport/startLogsBatch.js.map +1 -0
- package/esm/transport/startLogsBridge.js +8 -0
- package/esm/transport/startLogsBridge.js.map +1 -0
- package/package.json +5 -4
- package/src/boot/logsPublicApi.js +24 -21
- package/src/boot/startLogs.js +68 -10
- package/src/domain/assembly.js +0 -4
- package/src/domain/logger.js +57 -15
- package/src/domain/logsCollection/logger/loggerCollection.js +24 -16
- package/src/domain/logsCollection/networkError/networkErrorCollection.js +6 -5
- package/src/domain/logsCollection/report/reportCollection.js +10 -8
- package/src/transport/startLogsBridge.js +11 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
var _LogStatusForReport;
|
|
2
|
-
|
|
3
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
-
|
|
2
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
5
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
5
6
|
import { timeStampNow, ErrorSource, RawReportType, getFileFromStackTraceString, initReportObservable, LifeCycleEventType } from '@cloudcare/browser-core';
|
|
6
7
|
import { StatusType } from '../../logger';
|
|
7
8
|
var LogStatusForReport = (_LogStatusForReport = {}, _defineProperty(_LogStatusForReport, RawReportType.cspViolation, StatusType.error), _defineProperty(_LogStatusForReport, RawReportType.intervention, StatusType.error), _defineProperty(_LogStatusForReport, RawReportType.deprecation, StatusType.warn), _LogStatusForReport);
|
|
8
9
|
export function startReportCollection(configuration, lifeCycle) {
|
|
9
|
-
var reportSubscription = initReportObservable(configuration.forwardReports).subscribe(function (report) {
|
|
10
|
+
var reportSubscription = initReportObservable(configuration, configuration.forwardReports).subscribe(function (report) {
|
|
10
11
|
var message = report.message;
|
|
11
12
|
var status = LogStatusForReport[report.type];
|
|
12
13
|
var error;
|
|
13
|
-
|
|
14
14
|
if (status === StatusType.error) {
|
|
15
15
|
error = {
|
|
16
16
|
kind: report.subtype,
|
|
@@ -21,7 +21,6 @@ export function startReportCollection(configuration, lifeCycle) {
|
|
|
21
21
|
} else if (report.stack) {
|
|
22
22
|
message += ' Found in ' + getFileFromStackTraceString(report.stack);
|
|
23
23
|
}
|
|
24
|
-
|
|
25
24
|
lifeCycle.notify(LifeCycleEventType.RAW_LOG_COLLECTED, {
|
|
26
25
|
rawLogsEvent: {
|
|
27
26
|
date: timeStampNow(),
|
|
@@ -37,4 +36,5 @@ export function startReportCollection(configuration, lifeCycle) {
|
|
|
37
36
|
reportSubscription.unsubscribe();
|
|
38
37
|
}
|
|
39
38
|
};
|
|
40
|
-
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=reportCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportCollection.js","names":["timeStampNow","ErrorSource","RawReportType","getFileFromStackTraceString","initReportObservable","LifeCycleEventType","StatusType","LogStatusForReport","_LogStatusForReport","_defineProperty","cspViolation","error","intervention","deprecation","warn","startReportCollection","configuration","lifeCycle","reportSubscription","forwardReports","subscribe","report","message","status","type","kind","subtype","origin","REPORT","stack","notify","RAW_LOG_COLLECTED","rawLogsEvent","date","stop","unsubscribe"],"sources":["../../../../src/domain/logsCollection/report/reportCollection.js"],"sourcesContent":["import {\n timeStampNow,\n ErrorSource,\n RawReportType,\n getFileFromStackTraceString,\n initReportObservable,\n LifeCycleEventType\n} from '@cloudcare/browser-core'\nimport { StatusType } from '../../logger'\n\nvar LogStatusForReport = {\n [RawReportType.cspViolation]: StatusType.error,\n [RawReportType.intervention]: StatusType.error,\n [RawReportType.deprecation]: StatusType.warn\n}\n\nexport function startReportCollection(configuration, lifeCycle) {\n var reportSubscription = initReportObservable(\n configuration,\n configuration.forwardReports\n ).subscribe(function (report) {\n var message = report.message\n var status = LogStatusForReport[report.type]\n var error\n if (status === StatusType.error) {\n error = {\n kind: report.subtype,\n origin: ErrorSource.REPORT, // Todo: Remove in the next major release\n stack: report.stack\n }\n } else if (report.stack) {\n message += ' Found in ' + getFileFromStackTraceString(report.stack)\n }\n\n lifeCycle.notify(LifeCycleEventType.RAW_LOG_COLLECTED, {\n rawLogsEvent: {\n date: timeStampNow(),\n message: message,\n origin: ErrorSource.REPORT,\n error: error,\n status: status\n }\n })\n })\n\n return {\n stop: function () {\n reportSubscription.unsubscribe()\n }\n }\n}\n"],"mappings":";;;;;AAAA,SACEA,YAAY,EACZC,WAAW,EACXC,aAAa,EACbC,2BAA2B,EAC3BC,oBAAoB,EACpBC,kBAAkB,QACb,yBAAyB;AAChC,SAASC,UAAU,QAAQ,cAAc;AAEzC,IAAIC,kBAAkB,IAAAC,mBAAA,OAAAC,eAAA,CAAAD,mBAAA,EACnBN,aAAa,CAACQ,YAAY,EAAGJ,UAAU,CAACK,KAAK,GAAAF,eAAA,CAAAD,mBAAA,EAC7CN,aAAa,CAACU,YAAY,EAAGN,UAAU,CAACK,KAAK,GAAAF,eAAA,CAAAD,mBAAA,EAC7CN,aAAa,CAACW,WAAW,EAAGP,UAAU,CAACQ,IAAI,GAAAN,mBAAA,CAC7C;AAED,OAAO,SAASO,qBAAqBA,CAACC,aAAa,EAAEC,SAAS,EAAE;EAC9D,IAAIC,kBAAkB,GAAGd,oBAAoB,CAC3CY,aAAa,EACbA,aAAa,CAACG,cAChB,CAAC,CAACC,SAAS,CAAC,UAAUC,MAAM,EAAE;IAC5B,IAAIC,OAAO,GAAGD,MAAM,CAACC,OAAO;IAC5B,IAAIC,MAAM,GAAGhB,kBAAkB,CAACc,MAAM,CAACG,IAAI,CAAC;IAC5C,IAAIb,KAAK;IACT,IAAIY,MAAM,KAAKjB,UAAU,CAACK,KAAK,EAAE;MAC/BA,KAAK,GAAG;QACNc,IAAI,EAAEJ,MAAM,CAACK,OAAO;QACpBC,MAAM,EAAE1B,WAAW,CAAC2B,MAAM;QAAE;QAC5BC,KAAK,EAAER,MAAM,CAACQ;MAChB,CAAC;IACH,CAAC,MAAM,IAAIR,MAAM,CAACQ,KAAK,EAAE;MACvBP,OAAO,IAAI,YAAY,GAAGnB,2BAA2B,CAACkB,MAAM,CAACQ,KAAK,CAAC;IACrE;IAEAZ,SAAS,CAACa,MAAM,CAACzB,kBAAkB,CAAC0B,iBAAiB,EAAE;MACrDC,YAAY,EAAE;QACZC,IAAI,EAAEjC,YAAY,CAAC,CAAC;QACpBsB,OAAO,EAAEA,OAAO;QAChBK,MAAM,EAAE1B,WAAW,CAAC2B,MAAM;QAC1BjB,KAAK,EAAEA,KAAK;QACZY,MAAM,EAAEA;MACV;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAO;IACLW,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChBhB,kBAAkB,CAACiB,WAAW,CAAC,CAAC;IAClC;EACF,CAAC;AACH"}
|
|
@@ -6,11 +6,8 @@ export function startRuntimeErrorCollection(configuration, lifeCycle) {
|
|
|
6
6
|
stop: noop
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
|
-
|
|
10
9
|
var rawErrorObservable = new Observable();
|
|
11
|
-
|
|
12
10
|
var _trackRuntimeError = trackRuntimeError(rawErrorObservable);
|
|
13
|
-
|
|
14
11
|
var rawErrorSubscription = rawErrorObservable.subscribe(function (rawError) {
|
|
15
12
|
lifeCycle.notify(LifeCycleEventType.RAW_LOG_COLLECTED, {
|
|
16
13
|
rawLogsEvent: {
|
|
@@ -30,8 +27,8 @@ export function startRuntimeErrorCollection(configuration, lifeCycle) {
|
|
|
30
27
|
return {
|
|
31
28
|
stop: function stop() {
|
|
32
29
|
_trackRuntimeError.stop();
|
|
33
|
-
|
|
34
30
|
rawErrorSubscription.unsubscribe();
|
|
35
31
|
}
|
|
36
32
|
};
|
|
37
|
-
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=runtimeErrorCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeErrorCollection.js","names":["noop","ErrorSource","trackRuntimeError","Observable","LifeCycleEventType","StatusType","startRuntimeErrorCollection","configuration","lifeCycle","forwardErrorsToLogs","stop","rawErrorObservable","_trackRuntimeError","rawErrorSubscription","subscribe","rawError","notify","RAW_LOG_COLLECTED","rawLogsEvent","message","date","startClocks","timeStamp","error","kind","type","origin","SOURCE","stack","status","unsubscribe"],"sources":["../../../../src/domain/logsCollection/rumtimeError/runtimeErrorCollection.js"],"sourcesContent":["import { noop, ErrorSource, trackRuntimeError, Observable, LifeCycleEventType } from '@cloudcare/browser-core'\nimport { StatusType } from '../../logger'\n\nexport function startRuntimeErrorCollection(configuration, lifeCycle) {\n if (!configuration.forwardErrorsToLogs) {\n return { stop: noop }\n }\n\n var rawErrorObservable = new Observable()\n\n var _trackRuntimeError = trackRuntimeError(rawErrorObservable)\n\n var rawErrorSubscription = rawErrorObservable.subscribe(function(rawError) {\n lifeCycle.notify(LifeCycleEventType.RAW_LOG_COLLECTED, {\n rawLogsEvent: {\n message: rawError.message,\n date: rawError.startClocks.timeStamp,\n error: {\n kind: rawError.type,\n origin: ErrorSource.SOURCE, // Todo: Remove in the next major release\n stack: rawError.stack,\n },\n origin: ErrorSource.SOURCE,\n status: StatusType.error,\n },\n })\n })\n\n return {\n stop: function() {\n _trackRuntimeError.stop()\n rawErrorSubscription.unsubscribe()\n },\n }\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,WAAW,EAAEC,iBAAiB,EAAEC,UAAU,EAAEC,kBAAkB,QAAQ,yBAAyB;AAC9G,SAASC,UAAU,QAAQ,cAAc;AAEzC,OAAO,SAASC,2BAA2BA,CAACC,aAAa,EAAEC,SAAS,EAAE;EACpE,IAAI,CAACD,aAAa,CAACE,mBAAmB,EAAE;IACtC,OAAO;MAAEC,IAAI,EAAEV;IAAK,CAAC;EACvB;EAEA,IAAIW,kBAAkB,GAAG,IAAIR,UAAU,CAAC,CAAC;EAEzC,IAAIS,kBAAkB,GAAGV,iBAAiB,CAACS,kBAAkB,CAAC;EAE9D,IAAIE,oBAAoB,GAAGF,kBAAkB,CAACG,SAAS,CAAC,UAASC,QAAQ,EAAE;IACzEP,SAAS,CAACQ,MAAM,CAACZ,kBAAkB,CAACa,iBAAiB,EAAE;MACrDC,YAAY,EAAE;QACZC,OAAO,EAAEJ,QAAQ,CAACI,OAAO;QACzBC,IAAI,EAAEL,QAAQ,CAACM,WAAW,CAACC,SAAS;QACpCC,KAAK,EAAE;UACLC,IAAI,EAAET,QAAQ,CAACU,IAAI;UACnBC,MAAM,EAAEzB,WAAW,CAAC0B,MAAM;UAAE;UAC5BC,KAAK,EAAEb,QAAQ,CAACa;QAClB,CAAC;QACDF,MAAM,EAAEzB,WAAW,CAAC0B,MAAM;QAC1BE,MAAM,EAAExB,UAAU,CAACkB;MACrB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAO;IACLb,IAAI,EAAE,SAAAA,KAAA,EAAW;MACfE,kBAAkB,CAACF,IAAI,CAAC,CAAC;MACzBG,oBAAoB,CAACiB,WAAW,CAAC,CAAC;IACpC;EACF,CAAC;AACH"}
|
|
@@ -28,15 +28,12 @@ export function startLogsSessionManagerStub(configuration) {
|
|
|
28
28
|
expireObservable: new Observable()
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
|
|
32
31
|
function computeTrackingType(configuration) {
|
|
33
32
|
if (!performDraw(configuration.sessionSampleRate)) {
|
|
34
33
|
return LoggerTrackingType.NOT_TRACKED;
|
|
35
34
|
}
|
|
36
|
-
|
|
37
35
|
return LoggerTrackingType.TRACKED;
|
|
38
36
|
}
|
|
39
|
-
|
|
40
37
|
function computeSessionState(configuration, rawSessionType) {
|
|
41
38
|
var trackingType = hasValidLoggerSession(rawSessionType) ? rawSessionType : computeTrackingType(configuration);
|
|
42
39
|
return {
|
|
@@ -44,7 +41,7 @@ function computeSessionState(configuration, rawSessionType) {
|
|
|
44
41
|
isTracked: trackingType === LoggerTrackingType.TRACKED
|
|
45
42
|
};
|
|
46
43
|
}
|
|
47
|
-
|
|
48
44
|
function hasValidLoggerSession(trackingType) {
|
|
49
45
|
return trackingType === LoggerTrackingType.NOT_TRACKED || trackingType === LoggerTrackingType.TRACKED;
|
|
50
|
-
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=logsSessionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logsSessionManager.js","names":["performDraw","startSessionManager","Observable","LOGS_SESSION_KEY","LoggerTrackingType","NOT_TRACKED","TRACKED","startLogsSessionManager","configuration","sessionManager","cookieOptions","rawTrackingType","computeSessionState","findTrackedSession","startTime","session","findActiveSession","trackingType","id","undefined","expireObservable","startLogsSessionManagerStub","isTracked","computeTrackingType","sessionSampleRate","rawSessionType","hasValidLoggerSession"],"sources":["../../src/domain/logsSessionManager.js"],"sourcesContent":["import {\n performDraw,\n startSessionManager,\n Observable\n} from '@cloudcare/browser-core'\n\nexport var LOGS_SESSION_KEY = 'logs'\n\nexport var LoggerTrackingType = {\n NOT_TRACKED: '0',\n TRACKED: '1'\n}\n\nexport function startLogsSessionManager(configuration) {\n var sessionManager = startSessionManager(\n configuration.cookieOptions,\n LOGS_SESSION_KEY,\n function (rawTrackingType) {\n return computeSessionState(configuration, rawTrackingType)\n }\n )\n return {\n findTrackedSession: function (startTime) {\n var session = sessionManager.findActiveSession(startTime)\n return session && session.trackingType === LoggerTrackingType.TRACKED\n ? {\n id: session.id\n }\n : undefined\n },\n expireObservable: sessionManager.expireObservable\n }\n}\n\nexport function startLogsSessionManagerStub(configuration) {\n var isTracked =\n computeTrackingType(configuration) === LoggerTrackingType.TRACKED\n var session = isTracked ? {} : undefined\n return {\n findTrackedSession: function () {\n return session\n },\n expireObservable: new Observable()\n }\n}\n\nfunction computeTrackingType(configuration) {\n if (!performDraw(configuration.sessionSampleRate)) {\n return LoggerTrackingType.NOT_TRACKED\n }\n return LoggerTrackingType.TRACKED\n}\n\nfunction computeSessionState(configuration, rawSessionType) {\n var trackingType = hasValidLoggerSession(rawSessionType)\n ? rawSessionType\n : computeTrackingType(configuration)\n return {\n trackingType: trackingType,\n isTracked: trackingType === LoggerTrackingType.TRACKED\n }\n}\n\nfunction hasValidLoggerSession(trackingType) {\n return (\n trackingType === LoggerTrackingType.NOT_TRACKED ||\n trackingType === LoggerTrackingType.TRACKED\n )\n}\n"],"mappings":"AAAA,SACEA,WAAW,EACXC,mBAAmB,EACnBC,UAAU,QACL,yBAAyB;AAEhC,OAAO,IAAIC,gBAAgB,GAAG,MAAM;AAEpC,OAAO,IAAIC,kBAAkB,GAAG;EAC9BC,WAAW,EAAE,GAAG;EAChBC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,SAASC,uBAAuBA,CAACC,aAAa,EAAE;EACrD,IAAIC,cAAc,GAAGR,mBAAmB,CACtCO,aAAa,CAACE,aAAa,EAC3BP,gBAAgB,EAChB,UAAUQ,eAAe,EAAE;IACzB,OAAOC,mBAAmB,CAACJ,aAAa,EAAEG,eAAe,CAAC;EAC5D,CACF,CAAC;EACD,OAAO;IACLE,kBAAkB,EAAE,SAAAA,mBAAUC,SAAS,EAAE;MACvC,IAAIC,OAAO,GAAGN,cAAc,CAACO,iBAAiB,CAACF,SAAS,CAAC;MACzD,OAAOC,OAAO,IAAIA,OAAO,CAACE,YAAY,KAAKb,kBAAkB,CAACE,OAAO,GACjE;QACEY,EAAE,EAAEH,OAAO,CAACG;MACd,CAAC,GACDC,SAAS;IACf,CAAC;IACDC,gBAAgB,EAAEX,cAAc,CAACW;EACnC,CAAC;AACH;AAEA,OAAO,SAASC,2BAA2BA,CAACb,aAAa,EAAE;EACzD,IAAIc,SAAS,GACXC,mBAAmB,CAACf,aAAa,CAAC,KAAKJ,kBAAkB,CAACE,OAAO;EACnE,IAAIS,OAAO,GAAGO,SAAS,GAAG,CAAC,CAAC,GAAGH,SAAS;EACxC,OAAO;IACLN,kBAAkB,EAAE,SAAAA,mBAAA,EAAY;MAC9B,OAAOE,OAAO;IAChB,CAAC;IACDK,gBAAgB,EAAE,IAAIlB,UAAU,CAAC;EACnC,CAAC;AACH;AAEA,SAASqB,mBAAmBA,CAACf,aAAa,EAAE;EAC1C,IAAI,CAACR,WAAW,CAACQ,aAAa,CAACgB,iBAAiB,CAAC,EAAE;IACjD,OAAOpB,kBAAkB,CAACC,WAAW;EACvC;EACA,OAAOD,kBAAkB,CAACE,OAAO;AACnC;AAEA,SAASM,mBAAmBA,CAACJ,aAAa,EAAEiB,cAAc,EAAE;EAC1D,IAAIR,YAAY,GAAGS,qBAAqB,CAACD,cAAc,CAAC,GACpDA,cAAc,GACdF,mBAAmB,CAACf,aAAa,CAAC;EACtC,OAAO;IACLS,YAAY,EAAEA,YAAY;IAC1BK,SAAS,EAAEL,YAAY,KAAKb,kBAAkB,CAACE;EACjD,CAAC;AACH;AAEA,SAASoB,qBAAqBA,CAACT,YAAY,EAAE;EAC3C,OACEA,YAAY,KAAKb,kBAAkB,CAACC,WAAW,IAC/CY,YAAY,KAAKb,kBAAkB,CAACE,OAAO;AAE/C"}
|
package/esm/entries/main.js
CHANGED
|
@@ -2,4 +2,5 @@ import { defineGlobal, getGlobalObject } from '@cloudcare/browser-core';
|
|
|
2
2
|
import { makeLogsPublicApi } from '../boot/logsPublicApi';
|
|
3
3
|
import { startLogs } from '../boot/startLogs';
|
|
4
4
|
export var datafluxLogs = makeLogsPublicApi(startLogs);
|
|
5
|
-
defineGlobal(getGlobalObject(), 'DATAFLUX_LOGS', datafluxLogs);
|
|
5
|
+
defineGlobal(getGlobalObject(), 'DATAFLUX_LOGS', datafluxLogs);
|
|
6
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","names":["defineGlobal","getGlobalObject","makeLogsPublicApi","startLogs","datafluxLogs"],"sources":["../../src/entries/main.js"],"sourcesContent":["import { defineGlobal, getGlobalObject } from '@cloudcare/browser-core'\nimport { makeLogsPublicApi } from '../boot/logsPublicApi'\nimport { startLogs } from '../boot/startLogs'\n\nexport const datafluxLogs = makeLogsPublicApi(startLogs)\n\ndefineGlobal(getGlobalObject(), 'DATAFLUX_LOGS', datafluxLogs)\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,eAAe,QAAQ,yBAAyB;AACvE,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,SAAS,QAAQ,mBAAmB;AAE7C,OAAO,IAAMC,YAAY,GAAGF,iBAAiB,CAACC,SAAS,CAAC;AAExDH,YAAY,CAACC,eAAe,CAAC,CAAC,EAAE,eAAe,EAAEG,YAAY,CAAC"}
|
package/esm/index.js
CHANGED
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["datafluxLogs"],"sources":["../src/index.js"],"sourcesContent":["import { datafluxLogs } from './entries/main'\nexport { datafluxLogs }\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASA,YAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startLogsBatch.js","names":["startBatchWithReplica","LifeCycleEventType","startLogsBatch","configuration","lifeCycle","reportError","pageExitObservable","sessionExpireObservable","batch","logsEndpoint","subscribe","LOG_COLLECTED","serverLogsEvent","add"],"sources":["../../src/transport/startLogsBatch.js"],"sourcesContent":["import {\n startBatchWithReplica,\n LifeCycleEventType\n} from '@cloudcare/browser-core'\n\nexport function startLogsBatch(\n configuration,\n lifeCycle,\n reportError,\n pageExitObservable,\n sessionExpireObservable\n) {\n var batch = startBatchWithReplica(\n configuration,\n configuration.logsEndpoint,\n reportError,\n pageExitObservable,\n sessionExpireObservable\n )\n\n lifeCycle.subscribe(\n LifeCycleEventType.LOG_COLLECTED,\n function (serverLogsEvent) {\n batch.add(serverLogsEvent)\n }\n )\n}\n"],"mappings":"AAAA,SACEA,qBAAqB,EACrBC,kBAAkB,QACb,yBAAyB;AAEhC,OAAO,SAASC,cAAcA,CAC5BC,aAAa,EACbC,SAAS,EACTC,WAAW,EACXC,kBAAkB,EAClBC,uBAAuB,EACvB;EACA,IAAIC,KAAK,GAAGR,qBAAqB,CAC/BG,aAAa,EACbA,aAAa,CAACM,YAAY,EAC1BJ,WAAW,EACXC,kBAAkB,EAClBC,uBACF,CAAC;EAEDH,SAAS,CAACM,SAAS,CACjBT,kBAAkB,CAACU,aAAa,EAChC,UAAUC,eAAe,EAAE;IACzBJ,KAAK,CAACK,GAAG,CAACD,eAAe,CAAC;EAC5B,CACF,CAAC;AACH"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { LifeCycleEventType, getEventBridge } from '@cloudcare/browser-core';
|
|
2
|
+
export function startLogsBridge(lifeCycle) {
|
|
3
|
+
var bridge = getEventBridge();
|
|
4
|
+
lifeCycle.subscribe(LifeCycleEventType.LOG_COLLECTED, function (serverLogsEvent) {
|
|
5
|
+
bridge.send('log', serverLogsEvent);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=startLogsBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startLogsBridge.js","names":["LifeCycleEventType","getEventBridge","startLogsBridge","lifeCycle","bridge","subscribe","LOG_COLLECTED","serverLogsEvent","send"],"sources":["../../src/transport/startLogsBridge.js"],"sourcesContent":["import { LifeCycleEventType, getEventBridge } from '@cloudcare/browser-core'\nexport function startLogsBridge(lifeCycle) {\n const bridge = getEventBridge()\n\n lifeCycle.subscribe(\n LifeCycleEventType.LOG_COLLECTED,\n function (serverLogsEvent) {\n bridge.send('log', serverLogsEvent)\n }\n )\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,cAAc,QAAQ,yBAAyB;AAC5E,OAAO,SAASC,eAAeA,CAACC,SAAS,EAAE;EACzC,IAAMC,MAAM,GAAGH,cAAc,CAAC,CAAC;EAE/BE,SAAS,CAACE,SAAS,CACjBL,kBAAkB,CAACM,aAAa,EAChC,UAAUC,eAAe,EAAE;IACzBH,MAAM,CAACI,IAAI,CAAC,KAAK,EAAED,eAAe,CAAC;EACrC,CACF,CAAC;AACH"}
|
package/package.json
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"name": "@cloudcare/browser-logs",
|
|
3
3
|
"main": "cjs/index.js",
|
|
4
4
|
"module": "esm/index.js",
|
|
5
|
-
"version": "3.0
|
|
5
|
+
"version": "3.1.0",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@cloudcare/browser-core": "
|
|
7
|
+
"@cloudcare/browser-core": "3.1.0"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
10
|
"dev": "webpack serve --open --mode=development",
|
|
@@ -12,8 +12,9 @@
|
|
|
12
12
|
"build:cjs": "rm -rf cjs && babel --config-file ./babel.cjs.json --out-dir cjs ./src && npm run replace-build-env cjs",
|
|
13
13
|
"build:esm": "rm -rf esm && babel --config-file ./babel.esm.json --out-dir esm ./src && npm run replace-build-env esm",
|
|
14
14
|
"build:bundle": "rm -rf bundle && webpack --mode=production",
|
|
15
|
-
"publish:oss": "npm run build:bundle && node ./scripts/publish-oss.js",
|
|
15
|
+
"publish:oss:current": "npm run build:bundle && node ./scripts/publish-oss.js current",
|
|
16
16
|
"publish:oss:test": "npm run build:bundle && node ./scripts/publish-oss.js test",
|
|
17
|
+
"publish:oss:lts": "npm run build:bundle && node ./scripts/publish-oss.js lts",
|
|
17
18
|
"replace-build-env": "node ../../scripts/replace-build-env.js"
|
|
18
19
|
},
|
|
19
20
|
"keywords": [
|
|
@@ -28,5 +29,5 @@
|
|
|
28
29
|
"author": "dataflux",
|
|
29
30
|
"license": "MIT",
|
|
30
31
|
"description": "DataFlux RUM Web 端数据指标监控",
|
|
31
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "6863a7abc368adb01df9a2de5efbed111db1e286"
|
|
32
33
|
}
|
|
@@ -7,7 +7,8 @@ import {
|
|
|
7
7
|
deepClone,
|
|
8
8
|
timeStampNow,
|
|
9
9
|
checkUser,
|
|
10
|
-
sanitizeUser
|
|
10
|
+
sanitizeUser,
|
|
11
|
+
monitor
|
|
11
12
|
} from '@cloudcare/browser-core'
|
|
12
13
|
import { validateAndBuildLogsConfiguration } from '../domain/configuration'
|
|
13
14
|
import { Logger } from '../domain/logger'
|
|
@@ -65,7 +66,7 @@ export function makeLogsPublicApi(startLogsImpl) {
|
|
|
65
66
|
return makePublicApi({
|
|
66
67
|
logger: mainLogger,
|
|
67
68
|
|
|
68
|
-
init: function (initConfiguration) {
|
|
69
|
+
init: monitor(function (initConfiguration) {
|
|
69
70
|
if (!canInitLogs(initConfiguration)) {
|
|
70
71
|
return
|
|
71
72
|
}
|
|
@@ -87,23 +88,25 @@ export function makeLogsPublicApi(startLogsImpl) {
|
|
|
87
88
|
beforeInitLoggerLog.drain()
|
|
88
89
|
|
|
89
90
|
isAlreadyInitialized = true
|
|
90
|
-
},
|
|
91
|
+
}),
|
|
91
92
|
|
|
92
93
|
/** @deprecated: use getGlobalContext instead */
|
|
93
|
-
getGlobalContext: globalContextManager.getContext,
|
|
94
|
+
getGlobalContext: monitor(globalContextManager.getContext),
|
|
94
95
|
|
|
95
96
|
/** @deprecated: use setGlobalContext instead */
|
|
96
|
-
setGlobalContext: globalContextManager.setContext,
|
|
97
|
+
setGlobalContext: monitor(globalContextManager.setContext),
|
|
97
98
|
|
|
98
99
|
/** @deprecated: use setGlobalContextProperty instead */
|
|
99
|
-
setGlobalContextProperty: globalContextManager.setContextProperty,
|
|
100
|
+
setGlobalContextProperty: monitor(globalContextManager.setContextProperty),
|
|
100
101
|
|
|
101
102
|
/** @deprecated: use removeGlobalContextProperty instead */
|
|
102
|
-
removeGlobalContextProperty:
|
|
103
|
+
removeGlobalContextProperty: monitor(
|
|
104
|
+
globalContextManager.removeContextProperty
|
|
105
|
+
),
|
|
103
106
|
|
|
104
|
-
clearGlobalContext: globalContextManager.clearContext,
|
|
107
|
+
clearGlobalContext: monitor(globalContextManager.clearContext),
|
|
105
108
|
|
|
106
|
-
createLogger: function (name, conf) {
|
|
109
|
+
createLogger: monitor(function (name, conf) {
|
|
107
110
|
if (typeof conf == 'undefined') {
|
|
108
111
|
conf = {}
|
|
109
112
|
}
|
|
@@ -117,27 +120,27 @@ export function makeLogsPublicApi(startLogsImpl) {
|
|
|
117
120
|
conf.context
|
|
118
121
|
)
|
|
119
122
|
return customLoggers[name]
|
|
120
|
-
},
|
|
123
|
+
}),
|
|
121
124
|
|
|
122
|
-
getLogger: function (name) {
|
|
125
|
+
getLogger: monitor(function (name) {
|
|
123
126
|
return customLoggers[name]
|
|
124
|
-
},
|
|
127
|
+
}),
|
|
125
128
|
|
|
126
|
-
getInitConfiguration: function () {
|
|
129
|
+
getInitConfiguration: monitor(function () {
|
|
127
130
|
return getInitConfigurationStrategy()
|
|
128
|
-
},
|
|
131
|
+
}),
|
|
129
132
|
|
|
130
|
-
getInternalContext: function (startTime) {
|
|
133
|
+
getInternalContext: monitor(function (startTime) {
|
|
131
134
|
return getInternalContextStrategy(startTime)
|
|
132
|
-
},
|
|
133
|
-
setUser: function (newUser) {
|
|
135
|
+
}),
|
|
136
|
+
setUser: monitor(function (newUser) {
|
|
134
137
|
if (checkUser(newUser)) {
|
|
135
138
|
userContextManager.setContext(sanitizeUser(newUser))
|
|
136
139
|
}
|
|
137
|
-
},
|
|
138
|
-
getUser: userContextManager.getContext,
|
|
139
|
-
removeUserProperty: userContextManager.removeContextProperty,
|
|
140
|
-
clearUser: userContextManager.clearContext
|
|
140
|
+
}),
|
|
141
|
+
getUser: monitor(userContextManager.getContext),
|
|
142
|
+
removeUserProperty: monitor(userContextManager.removeContextProperty),
|
|
143
|
+
clearUser: monitor(userContextManager.clearContext)
|
|
141
144
|
})
|
|
142
145
|
|
|
143
146
|
function canInitLogs(initConfiguration) {
|
package/src/boot/startLogs.js
CHANGED
|
@@ -3,13 +3,17 @@ import {
|
|
|
3
3
|
LifeCycle,
|
|
4
4
|
LifeCycleEventType,
|
|
5
5
|
createPageExitObservable,
|
|
6
|
-
areCookiesAuthorized
|
|
6
|
+
areCookiesAuthorized,
|
|
7
|
+
startTelemetry,
|
|
8
|
+
startBatchWithReplica,
|
|
9
|
+
canUseEventBridge,
|
|
10
|
+
TelemetryService
|
|
7
11
|
} from '@cloudcare/browser-core'
|
|
8
12
|
import {
|
|
9
13
|
startLogsSessionManager,
|
|
10
14
|
startLogsSessionManagerStub
|
|
11
15
|
} from '../domain/logsSessionManager'
|
|
12
|
-
import { startLogsAssembly } from '../domain/assembly'
|
|
16
|
+
import { startLogsAssembly, getRUMInternalContext } from '../domain/assembly'
|
|
13
17
|
import { startConsoleCollection } from '../domain/logsCollection/console/consoleCollection'
|
|
14
18
|
import { startReportCollection } from '../domain/logsCollection/report/reportCollection'
|
|
15
19
|
import { startNetworkErrorCollection } from '../domain/logsCollection/networkError/networkErrorCollection'
|
|
@@ -39,6 +43,38 @@ export function startLogs(configuration, buildCommonContext, mainLogger) {
|
|
|
39
43
|
var session = areCookiesAuthorized(configuration.cookieOptions)
|
|
40
44
|
? startLogsSessionManager(configuration)
|
|
41
45
|
: startLogsSessionManagerStub(configuration)
|
|
46
|
+
const telemetry = startLogsTelemetry(
|
|
47
|
+
configuration,
|
|
48
|
+
reportError,
|
|
49
|
+
pageExitObservable,
|
|
50
|
+
session.expireObservable
|
|
51
|
+
)
|
|
52
|
+
telemetry.setContextProvider(function () {
|
|
53
|
+
var RUMInternalContext = getRUMInternalContext()
|
|
54
|
+
return {
|
|
55
|
+
application: {
|
|
56
|
+
id:
|
|
57
|
+
RUMInternalContext &&
|
|
58
|
+
RUMInternalContext.application &&
|
|
59
|
+
RUMInternalContext.application.id
|
|
60
|
+
},
|
|
61
|
+
session: {
|
|
62
|
+
id: session.findTrackedSession() && session.findTrackedSession().id
|
|
63
|
+
},
|
|
64
|
+
view: {
|
|
65
|
+
id:
|
|
66
|
+
RUMInternalContext &&
|
|
67
|
+
RUMInternalContext.view &&
|
|
68
|
+
RUMInternalContext.view.id
|
|
69
|
+
},
|
|
70
|
+
action: {
|
|
71
|
+
id:
|
|
72
|
+
RUMInternalContext &&
|
|
73
|
+
RUMInternalContext.userAction &&
|
|
74
|
+
RUMInternalContext.userAction.id
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
})
|
|
42
78
|
startNetworkErrorCollection(configuration, lifeCycle)
|
|
43
79
|
startRuntimeErrorCollection(configuration, lifeCycle)
|
|
44
80
|
startConsoleCollection(configuration, lifeCycle)
|
|
@@ -53,14 +89,15 @@ export function startLogs(configuration, buildCommonContext, mainLogger) {
|
|
|
53
89
|
mainLogger,
|
|
54
90
|
reportError
|
|
55
91
|
)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
92
|
+
if (!canUseEventBridge()) {
|
|
93
|
+
startLogsBatch(
|
|
94
|
+
configuration,
|
|
95
|
+
lifeCycle,
|
|
96
|
+
reportError,
|
|
97
|
+
pageExitObservable,
|
|
98
|
+
session.expireObservable
|
|
99
|
+
)
|
|
100
|
+
}
|
|
64
101
|
|
|
65
102
|
var internalContext = startInternalContext(session)
|
|
66
103
|
|
|
@@ -69,3 +106,24 @@ export function startLogs(configuration, buildCommonContext, mainLogger) {
|
|
|
69
106
|
getInternalContext: internalContext.get
|
|
70
107
|
}
|
|
71
108
|
}
|
|
109
|
+
function startLogsTelemetry(
|
|
110
|
+
configuration,
|
|
111
|
+
reportError,
|
|
112
|
+
pageExitObservable,
|
|
113
|
+
sessionExpireObservable
|
|
114
|
+
) {
|
|
115
|
+
const telemetry = startTelemetry(TelemetryService.LOGS, configuration)
|
|
116
|
+
if (!canUseEventBridge()) {
|
|
117
|
+
var telemetryBatch = startBatchWithReplica(
|
|
118
|
+
configuration,
|
|
119
|
+
configuration.rumEndpoint,
|
|
120
|
+
reportError,
|
|
121
|
+
pageExitObservable,
|
|
122
|
+
sessionExpireObservable
|
|
123
|
+
)
|
|
124
|
+
telemetry.observable.subscribe(function (event) {
|
|
125
|
+
telemetryBatch.add(event)
|
|
126
|
+
})
|
|
127
|
+
}
|
|
128
|
+
return telemetry
|
|
129
|
+
}
|
package/src/domain/assembly.js
CHANGED
package/src/domain/logger.js
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
|
-
deepClone,
|
|
3
2
|
assign,
|
|
4
3
|
extend2Lev,
|
|
5
4
|
createContextManager,
|
|
6
5
|
ErrorSource,
|
|
7
6
|
keys,
|
|
8
|
-
CustomerDataType
|
|
7
|
+
CustomerDataType,
|
|
8
|
+
sanitize,
|
|
9
|
+
computeStackTrace,
|
|
10
|
+
computeRawError,
|
|
11
|
+
clocksNow,
|
|
12
|
+
ErrorHandling,
|
|
13
|
+
monitor,
|
|
14
|
+
NonErrorPrefix
|
|
9
15
|
} from '@cloudcare/browser-core'
|
|
10
16
|
|
|
11
17
|
export var StatusType = {
|
|
@@ -49,37 +55,73 @@ export function Logger(
|
|
|
49
55
|
)
|
|
50
56
|
}
|
|
51
57
|
Logger.prototype = {
|
|
52
|
-
log: function (message, messageContext, status) {
|
|
58
|
+
log: monitor(function (message, messageContext, status, error) {
|
|
53
59
|
if (typeof status === 'undefined') {
|
|
54
60
|
status = StatusType.info
|
|
55
61
|
}
|
|
62
|
+
var errorContext
|
|
63
|
+
if (status === StatusType.error) {
|
|
64
|
+
// Always add origin if status is error (backward compatibility - Remove in next major)
|
|
65
|
+
errorContext = { origin: ErrorSource.LOGGER }
|
|
66
|
+
}
|
|
67
|
+
if (error !== undefined && error !== null) {
|
|
68
|
+
var stackTrace =
|
|
69
|
+
error instanceof Error ? computeStackTrace(error) : undefined
|
|
70
|
+
var rawError = computeRawError({
|
|
71
|
+
stackTrace: stackTrace,
|
|
72
|
+
originalError: error,
|
|
73
|
+
nonErrorPrefix: NonErrorPrefix.PROVIDED,
|
|
74
|
+
source: ErrorSource.LOGGER,
|
|
75
|
+
handling: ErrorHandling.HANDLED,
|
|
76
|
+
startClocks: clocksNow()
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
errorContext = {
|
|
80
|
+
origin: ErrorSource.LOGGER, // Remove in next major
|
|
81
|
+
stack: rawError.stack,
|
|
82
|
+
kind: rawError.type,
|
|
83
|
+
message: rawError.message
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
var sanitizedMessageContext = sanitize(messageContext)
|
|
88
|
+
|
|
89
|
+
var context = errorContext
|
|
90
|
+
? extend2Lev({ error: errorContext }, sanitizedMessageContext)
|
|
91
|
+
: sanitizedMessageContext
|
|
92
|
+
|
|
56
93
|
this.handleLogStrategy(
|
|
57
|
-
{ message: message, context:
|
|
94
|
+
{ message: message, context: context, status: status },
|
|
58
95
|
this
|
|
59
96
|
)
|
|
60
|
-
},
|
|
97
|
+
}),
|
|
61
98
|
|
|
62
|
-
debug: function (message, messageContext) {
|
|
63
|
-
this.log(message, messageContext, StatusType.debug)
|
|
99
|
+
debug: function (message, messageContext, error) {
|
|
100
|
+
this.log(message, messageContext, StatusType.debug, error)
|
|
64
101
|
},
|
|
65
102
|
|
|
66
|
-
info: function (message, messageContext) {
|
|
67
|
-
this.log(message, messageContext, StatusType.info)
|
|
103
|
+
info: function (message, messageContext, error) {
|
|
104
|
+
this.log(message, messageContext, StatusType.info, error)
|
|
68
105
|
},
|
|
69
106
|
|
|
70
|
-
warn: function (message, messageContext) {
|
|
71
|
-
this.log(message, messageContext, StatusType.warn)
|
|
107
|
+
warn: function (message, messageContext, error) {
|
|
108
|
+
this.log(message, messageContext, StatusType.warn, error)
|
|
72
109
|
},
|
|
73
|
-
critical: function (message, messageContext) {
|
|
74
|
-
this.log(message, messageContext, StatusType.critical)
|
|
110
|
+
critical: function (message, messageContext, error) {
|
|
111
|
+
this.log(message, messageContext, StatusType.critical, error)
|
|
75
112
|
},
|
|
76
|
-
error: function (message, messageContext) {
|
|
113
|
+
error: function (message, messageContext, error) {
|
|
77
114
|
var errorOrigin = {
|
|
78
115
|
error: {
|
|
79
116
|
origin: ErrorSource.LOGGER
|
|
80
117
|
}
|
|
81
118
|
}
|
|
82
|
-
this.log(
|
|
119
|
+
this.log(
|
|
120
|
+
message,
|
|
121
|
+
extend2Lev(errorOrigin, messageContext),
|
|
122
|
+
StatusType.error,
|
|
123
|
+
error
|
|
124
|
+
)
|
|
83
125
|
},
|
|
84
126
|
|
|
85
127
|
setContext: function (context) {
|
|
@@ -1,48 +1,56 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
includes,
|
|
3
|
+
display,
|
|
4
|
+
extend2Lev,
|
|
5
|
+
ErrorSource,
|
|
6
|
+
timeStampNow,
|
|
7
|
+
LifeCycleEventType,
|
|
8
|
+
isArray
|
|
9
|
+
} from '@cloudcare/browser-core'
|
|
2
10
|
import { StatusType, HandlerType } from '../../logger'
|
|
3
11
|
|
|
4
12
|
export var STATUS_PRIORITIES = {
|
|
5
13
|
[StatusType.debug]: 0,
|
|
6
14
|
[StatusType.info]: 1,
|
|
7
15
|
[StatusType.warn]: 2,
|
|
8
|
-
[StatusType.error]: 3
|
|
16
|
+
[StatusType.error]: 3
|
|
9
17
|
}
|
|
10
18
|
|
|
11
19
|
export function startLoggerCollection(lifeCycle) {
|
|
12
|
-
function handleLog(
|
|
13
|
-
logsMessage,
|
|
14
|
-
logger,
|
|
15
|
-
savedCommonContext,
|
|
16
|
-
savedDate
|
|
17
|
-
) {
|
|
20
|
+
function handleLog(logsMessage, logger, savedCommonContext, savedDate) {
|
|
18
21
|
var messageContext = logsMessage.context
|
|
19
|
-
|
|
20
22
|
if (isAuthorized(logsMessage.status, HandlerType.console, logger)) {
|
|
21
|
-
display(
|
|
23
|
+
display(
|
|
24
|
+
logsMessage.status,
|
|
25
|
+
logsMessage.message,
|
|
26
|
+
extend2Lev(logger.getContext(), messageContext)
|
|
27
|
+
)
|
|
22
28
|
}
|
|
23
|
-
|
|
24
29
|
lifeCycle.notify(LifeCycleEventType.RAW_LOG_COLLECTED, {
|
|
25
30
|
rawLogsEvent: {
|
|
26
31
|
date: savedDate || timeStampNow(),
|
|
27
32
|
message: logsMessage.message,
|
|
28
33
|
status: logsMessage.status,
|
|
29
|
-
origin: ErrorSource.LOGGER
|
|
34
|
+
origin: ErrorSource.LOGGER
|
|
30
35
|
},
|
|
31
36
|
messageContext: messageContext,
|
|
32
37
|
savedCommonContext: savedCommonContext,
|
|
33
|
-
logger: logger
|
|
38
|
+
logger: logger
|
|
34
39
|
})
|
|
35
40
|
}
|
|
36
41
|
|
|
37
42
|
return {
|
|
38
|
-
handleLog: handleLog
|
|
43
|
+
handleLog: handleLog
|
|
39
44
|
}
|
|
40
45
|
}
|
|
41
46
|
|
|
42
47
|
export function isAuthorized(status, handlerType, logger) {
|
|
43
48
|
var loggerHandler = logger.getHandler()
|
|
44
|
-
var sanitizedHandlerType = isArray(loggerHandler)
|
|
49
|
+
var sanitizedHandlerType = isArray(loggerHandler)
|
|
50
|
+
? loggerHandler
|
|
51
|
+
: [loggerHandler]
|
|
45
52
|
return (
|
|
46
|
-
STATUS_PRIORITIES[status] >= STATUS_PRIORITIES[logger.getLevel()] &&
|
|
53
|
+
STATUS_PRIORITIES[status] >= STATUS_PRIORITIES[logger.getLevel()] &&
|
|
54
|
+
includes(sanitizedHandlerType, handlerType)
|
|
47
55
|
)
|
|
48
56
|
}
|
|
@@ -12,7 +12,8 @@ import {
|
|
|
12
12
|
urlParse,
|
|
13
13
|
replaceNumberCharByPath,
|
|
14
14
|
tryToClone,
|
|
15
|
-
readBytesFromStream
|
|
15
|
+
readBytesFromStream,
|
|
16
|
+
monitor
|
|
16
17
|
} from '@cloudcare/browser-core'
|
|
17
18
|
import { StatusType } from '../../logger'
|
|
18
19
|
|
|
@@ -151,12 +152,12 @@ export function computeFetchResponseText(response, configuration, callback) {
|
|
|
151
152
|
// response.body.getReader().cancel()
|
|
152
153
|
// })
|
|
153
154
|
clonedResponse.text().then(
|
|
154
|
-
function (text) {
|
|
155
|
+
monitor(function (text) {
|
|
155
156
|
return callback(truncateResponseText(text, configuration))
|
|
156
|
-
},
|
|
157
|
-
function (error) {
|
|
157
|
+
}),
|
|
158
|
+
monitor(function (error) {
|
|
158
159
|
return callback('Unable to retrieve response: ' + error)
|
|
159
|
-
}
|
|
160
|
+
})
|
|
160
161
|
)
|
|
161
162
|
} else {
|
|
162
163
|
truncateResponseStream(
|