@cloudcare/browser-logs 3.1.23 → 3.2.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.
Files changed (83) hide show
  1. package/bundle/dataflux-logs.js +1 -1
  2. package/cjs/boot/buildEnv.js +1 -1
  3. package/cjs/boot/logsPublicApi.js +35 -62
  4. package/cjs/boot/logsPublicApi.js.map +1 -1
  5. package/cjs/boot/preStartLogs.js +72 -0
  6. package/cjs/boot/preStartLogs.js.map +1 -0
  7. package/cjs/boot/startLogs.js +57 -38
  8. package/cjs/boot/startLogs.js.map +1 -1
  9. package/cjs/domain/assembly.js +5 -7
  10. package/cjs/domain/assembly.js.map +1 -1
  11. package/cjs/domain/contexts/commonContext.js +17 -0
  12. package/cjs/domain/contexts/commonContext.js.map +1 -0
  13. package/cjs/domain/contexts/internalContext.js.map +1 -0
  14. package/cjs/domain/createErrorFieldFromRawError.js +20 -0
  15. package/cjs/domain/createErrorFieldFromRawError.js.map +1 -0
  16. package/cjs/domain/logger.js +61 -54
  17. package/cjs/domain/logger.js.map +1 -1
  18. package/cjs/domain/logsCollection/console/consoleCollection.js +5 -5
  19. package/cjs/domain/logsCollection/console/consoleCollection.js.map +1 -1
  20. package/cjs/domain/logsCollection/logger/loggerCollection.js +37 -20
  21. package/cjs/domain/logsCollection/logger/loggerCollection.js.map +1 -1
  22. package/cjs/domain/logsCollection/networkError/networkErrorCollection.js +11 -6
  23. package/cjs/domain/logsCollection/networkError/networkErrorCollection.js.map +1 -1
  24. package/cjs/domain/logsCollection/report/reportCollection.js +6 -15
  25. package/cjs/domain/logsCollection/report/reportCollection.js.map +1 -1
  26. package/cjs/domain/logsCollection/rumtimeError/runtimeErrorCollection.js +2 -5
  27. package/cjs/domain/logsCollection/rumtimeError/runtimeErrorCollection.js.map +1 -1
  28. package/cjs/domain/reportError.js +24 -0
  29. package/cjs/domain/reportError.js.map +1 -0
  30. package/cjs/transport/startLogsBatch.js +6 -2
  31. package/cjs/transport/startLogsBatch.js.map +1 -1
  32. package/esm/boot/buildEnv.js +1 -1
  33. package/esm/boot/logsPublicApi.js +36 -63
  34. package/esm/boot/logsPublicApi.js.map +1 -1
  35. package/esm/boot/preStartLogs.js +66 -0
  36. package/esm/boot/preStartLogs.js.map +1 -0
  37. package/esm/boot/startLogs.js +57 -38
  38. package/esm/boot/startLogs.js.map +1 -1
  39. package/esm/domain/assembly.js +6 -8
  40. package/esm/domain/assembly.js.map +1 -1
  41. package/esm/domain/contexts/commonContext.js +11 -0
  42. package/esm/domain/contexts/commonContext.js.map +1 -0
  43. package/esm/domain/contexts/internalContext.js.map +1 -0
  44. package/esm/domain/createErrorFieldFromRawError.js +14 -0
  45. package/esm/domain/createErrorFieldFromRawError.js.map +1 -0
  46. package/esm/domain/logger.js +62 -55
  47. package/esm/domain/logger.js.map +1 -1
  48. package/esm/domain/logsCollection/console/consoleCollection.js +5 -5
  49. package/esm/domain/logsCollection/console/consoleCollection.js.map +1 -1
  50. package/esm/domain/logsCollection/logger/loggerCollection.js +39 -22
  51. package/esm/domain/logsCollection/logger/loggerCollection.js.map +1 -1
  52. package/esm/domain/logsCollection/networkError/networkErrorCollection.js +12 -7
  53. package/esm/domain/logsCollection/networkError/networkErrorCollection.js.map +1 -1
  54. package/esm/domain/logsCollection/report/reportCollection.js +7 -16
  55. package/esm/domain/logsCollection/report/reportCollection.js.map +1 -1
  56. package/esm/domain/logsCollection/rumtimeError/runtimeErrorCollection.js +2 -5
  57. package/esm/domain/logsCollection/rumtimeError/runtimeErrorCollection.js.map +1 -1
  58. package/esm/domain/reportError.js +18 -0
  59. package/esm/domain/reportError.js.map +1 -0
  60. package/esm/transport/startLogsBatch.js +7 -3
  61. package/esm/transport/startLogsBatch.js.map +1 -1
  62. package/package.json +4 -3
  63. package/src/boot/logsPublicApi.js +52 -86
  64. package/src/boot/preStartLogs.js +94 -0
  65. package/src/boot/startLogs.js +83 -60
  66. package/src/domain/assembly.js +7 -12
  67. package/src/domain/contexts/commonContext.js +10 -0
  68. package/src/domain/createErrorFieldFromRawError.js +13 -0
  69. package/src/domain/logger.js +89 -63
  70. package/src/domain/logsCollection/console/consoleCollection.js +5 -9
  71. package/src/domain/logsCollection/logger/loggerCollection.js +46 -25
  72. package/src/domain/logsCollection/networkError/networkErrorCollection.js +11 -7
  73. package/src/domain/logsCollection/report/reportCollection.js +9 -16
  74. package/src/domain/logsCollection/rumtimeError/runtimeErrorCollection.js +2 -6
  75. package/src/domain/reportError.js +21 -0
  76. package/src/transport/startLogsBatch.js +6 -4
  77. package/types/configuration.d.ts +2 -2
  78. package/types/logger.d.ts +3 -22
  79. package/cjs/domain/internalContext.js.map +0 -1
  80. package/esm/domain/internalContext.js.map +0 -1
  81. /package/cjs/domain/{internalContext.js → contexts/internalContext.js} +0 -0
  82. /package/esm/domain/{internalContext.js → contexts/internalContext.js} +0 -0
  83. /package/src/domain/{internalContext.js → contexts/internalContext.js} +0 -0
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.startConsoleCollection = startConsoleCollection;
7
7
  var _browserCore = require("@cloudcare/browser-core");
8
8
  var _logger = require("../../logger");
9
+ var _createErrorFieldFromRawError = require("../../createErrorFieldFromRawError");
9
10
  var _LogStatusForApi;
10
11
  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); }
11
12
  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; }
@@ -19,12 +20,11 @@ function startConsoleCollection(configuration, lifeCycle) {
19
20
  date: (0, _browserCore.timeStampNow)(),
20
21
  message: log.message,
21
22
  origin: _browserCore.ErrorSource.CONSOLE,
22
- error: log.api === _browserCore.ConsoleApiName.error ? {
23
- origin: _browserCore.ErrorSource.CONSOLE,
24
- stack: log.stack,
25
- causes: log.causes
26
- } : undefined,
23
+ error: log.error && (0, _createErrorFieldFromRawError.createErrorFieldFromRawError)(log.error),
27
24
  status: LogStatusForApi[log.api]
25
+ },
26
+ domainContext: {
27
+ handlingStack: log.handlingStack
28
28
  }
29
29
  });
30
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"consoleCollection.js","names":["_browserCore","require","_logger","_LogStatusForApi","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","TypeError","Number","LogStatusForApi","ConsoleApiName","log","StatusType","info","debug","warn","error","startConsoleCollection","configuration","lifeCycle","consoleSubscription","initConsoleObservable","forwardConsoleLogs","subscribe","notify","LifeCycleEventType","RAW_LOG_COLLECTED","rawLogsEvent","date","timeStampNow","message","origin","ErrorSource","CONSOLE","api","stack","causes","status","stop","unsubscribe"],"sources":["../../../../src/domain/logsCollection/console/consoleCollection.js"],"sourcesContent":["import {\n timeStampNow,\n ConsoleApiName,\n ErrorSource,\n initConsoleObservable,\n LifeCycleEventType\n} from '@cloudcare/browser-core'\nimport { StatusType } from '../../logger'\n\nvar LogStatusForApi = {\n [ConsoleApiName.log]: StatusType.info,\n [ConsoleApiName.debug]: StatusType.debug,\n [ConsoleApiName.info]: StatusType.info,\n [ConsoleApiName.warn]: StatusType.warn,\n [ConsoleApiName.error]: StatusType.error\n}\nexport function startConsoleCollection(configuration, lifeCycle) {\n var consoleSubscription = initConsoleObservable(\n configuration.forwardConsoleLogs\n ).subscribe(function (log) {\n lifeCycle.notify(LifeCycleEventType.RAW_LOG_COLLECTED, {\n rawLogsEvent: {\n date: timeStampNow(),\n message: log.message,\n origin: ErrorSource.CONSOLE,\n error:\n log.api === ConsoleApiName.error\n ? {\n origin: ErrorSource.CONSOLE,\n stack: log.stack,\n causes: log.causes\n }\n : undefined,\n status: LogStatusForApi[log.api]\n }\n })\n })\n\n return {\n stop: function () {\n consoleSubscription.unsubscribe()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"consoleCollection.js","names":["_browserCore","require","_logger","_createErrorFieldFromRawError","_LogStatusForApi","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","TypeError","Number","LogStatusForApi","ConsoleApiName","log","StatusType","info","debug","warn","error","startConsoleCollection","configuration","lifeCycle","consoleSubscription","initConsoleObservable","forwardConsoleLogs","subscribe","notify","LifeCycleEventType","RAW_LOG_COLLECTED","rawLogsEvent","date","timeStampNow","message","origin","ErrorSource","CONSOLE","createErrorFieldFromRawError","status","api","domainContext","handlingStack","stop","unsubscribe"],"sources":["../../../../src/domain/logsCollection/console/consoleCollection.js"],"sourcesContent":["import {\n timeStampNow,\n ConsoleApiName,\n ErrorSource,\n initConsoleObservable,\n LifeCycleEventType\n} from '@cloudcare/browser-core'\nimport { StatusType } from '../../logger'\nimport { createErrorFieldFromRawError } from '../../createErrorFieldFromRawError'\nvar LogStatusForApi = {\n [ConsoleApiName.log]: StatusType.info,\n [ConsoleApiName.debug]: StatusType.debug,\n [ConsoleApiName.info]: StatusType.info,\n [ConsoleApiName.warn]: StatusType.warn,\n [ConsoleApiName.error]: StatusType.error\n}\nexport function startConsoleCollection(configuration, lifeCycle) {\n var consoleSubscription = initConsoleObservable(\n configuration.forwardConsoleLogs\n ).subscribe(function (log) {\n lifeCycle.notify(LifeCycleEventType.RAW_LOG_COLLECTED, {\n rawLogsEvent: {\n date: timeStampNow(),\n message: log.message,\n origin: ErrorSource.CONSOLE,\n error: log.error && createErrorFieldFromRawError(log.error),\n status: LogStatusForApi[log.api]\n },\n domainContext: {\n handlingStack: log.handlingStack\n }\n })\n })\n\n return {\n stop: function () {\n consoleSubscription.unsubscribe()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,30 +8,42 @@ exports.isAuthorized = isAuthorized;
8
8
  exports.startLoggerCollection = startLoggerCollection;
9
9
  var _browserCore = require("@cloudcare/browser-core");
10
10
  var _logger = require("../../logger");
11
- var _STATUS_PRIORITIES;
12
- 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); }
13
- 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; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
- 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); }
16
- var STATUS_PRIORITIES = (_STATUS_PRIORITIES = {}, _defineProperty(_STATUS_PRIORITIES, _logger.StatusType.debug, 0), _defineProperty(_STATUS_PRIORITIES, _logger.StatusType.info, 1), _defineProperty(_STATUS_PRIORITIES, _logger.StatusType.warn, 2), _defineProperty(_STATUS_PRIORITIES, _logger.StatusType.error, 3), _STATUS_PRIORITIES);
11
+ var STATUS_PRIORITIES = {
12
+ ok: 0,
13
+ debug: 1,
14
+ info: 2,
15
+ notice: 4,
16
+ warn: 5,
17
+ error: 6,
18
+ critical: 7,
19
+ alert: 8,
20
+ emerg: 9
21
+ };
17
22
  exports.STATUS_PRIORITIES = STATUS_PRIORITIES;
18
23
  function startLoggerCollection(lifeCycle) {
19
- function handleLog(logsMessage, logger, savedCommonContext, savedDate) {
20
- var messageContext = logsMessage.context;
24
+ function handleLog(logsMessage, logger, handlingStack, savedCommonContext, savedDate) {
25
+ var messageContext = (0, _browserCore.extend2Lev)(logger.getContext(), logsMessage.context);
21
26
  if (isAuthorized(logsMessage.status, _logger.HandlerType.console, logger)) {
22
- (0, _browserCore.display)(logsMessage.status, logsMessage.message, (0, _browserCore.extend2Lev)(logger.getContext(), messageContext));
27
+ displayInConsole(logsMessage, messageContext);
28
+ }
29
+ if (isAuthorized(logsMessage.status, _logger.HandlerType.http, logger)) {
30
+ var rawLogEventData = {
31
+ rawLogsEvent: {
32
+ date: savedDate || (0, _browserCore.timeStampNow)(),
33
+ message: logsMessage.message,
34
+ status: logsMessage.status,
35
+ origin: _browserCore.ErrorSource.LOGGER
36
+ },
37
+ messageContext: messageContext,
38
+ savedCommonContext: savedCommonContext
39
+ };
40
+ if (handlingStack) {
41
+ rawLogEventData.domainContext = {
42
+ handlingStack: handlingStack
43
+ };
44
+ }
45
+ lifeCycle.notify(_browserCore.LifeCycleEventType.RAW_LOG_COLLECTED, rawLogEventData);
23
46
  }
24
- lifeCycle.notify(_browserCore.LifeCycleEventType.RAW_LOG_COLLECTED, {
25
- rawLogsEvent: {
26
- date: savedDate || (0, _browserCore.timeStampNow)(),
27
- message: logsMessage.message,
28
- status: logsMessage.status,
29
- origin: _browserCore.ErrorSource.LOGGER
30
- },
31
- messageContext: messageContext,
32
- savedCommonContext: savedCommonContext,
33
- logger: logger
34
- });
35
47
  }
36
48
  return {
37
49
  handleLog: handleLog
@@ -42,4 +54,9 @@ function isAuthorized(status, handlerType, logger) {
42
54
  var sanitizedHandlerType = (0, _browserCore.isArray)(loggerHandler) ? loggerHandler : [loggerHandler];
43
55
  return STATUS_PRIORITIES[status] >= STATUS_PRIORITIES[logger.getLevel()] && (0, _browserCore.includes)(sanitizedHandlerType, handlerType);
44
56
  }
57
+ function displayInConsole(data, messageContext) {
58
+ var status = data.status;
59
+ var message = data.message;
60
+ _browserCore.originalConsoleMethods[loggerToConsoleApiName[status]].call(globalConsole, message, messageContext);
61
+ }
45
62
  //# sourceMappingURL=loggerCollection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loggerCollection.js","names":["_browserCore","require","_logger","_STATUS_PRIORITIES","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","TypeError","Number","STATUS_PRIORITIES","StatusType","debug","info","warn","error","exports","startLoggerCollection","lifeCycle","handleLog","logsMessage","logger","savedCommonContext","savedDate","messageContext","context","isAuthorized","status","HandlerType","console","display","message","extend2Lev","getContext","notify","LifeCycleEventType","RAW_LOG_COLLECTED","rawLogsEvent","date","timeStampNow","origin","ErrorSource","LOGGER","handlerType","loggerHandler","getHandler","sanitizedHandlerType","isArray","getLevel","includes"],"sources":["../../../../src/domain/logsCollection/logger/loggerCollection.js"],"sourcesContent":["import {\n includes,\n display,\n extend2Lev,\n ErrorSource,\n timeStampNow,\n LifeCycleEventType,\n isArray\n} from '@cloudcare/browser-core'\nimport { StatusType, HandlerType } from '../../logger'\n\nexport var STATUS_PRIORITIES = {\n [StatusType.debug]: 0,\n [StatusType.info]: 1,\n [StatusType.warn]: 2,\n [StatusType.error]: 3\n}\n\nexport function startLoggerCollection(lifeCycle) {\n function handleLog(logsMessage, logger, savedCommonContext, savedDate) {\n var messageContext = logsMessage.context\n if (isAuthorized(logsMessage.status, HandlerType.console, logger)) {\n display(\n logsMessage.status,\n logsMessage.message,\n extend2Lev(logger.getContext(), messageContext)\n )\n }\n lifeCycle.notify(LifeCycleEventType.RAW_LOG_COLLECTED, {\n rawLogsEvent: {\n date: savedDate || timeStampNow(),\n message: logsMessage.message,\n status: logsMessage.status,\n origin: ErrorSource.LOGGER\n },\n messageContext: messageContext,\n savedCommonContext: savedCommonContext,\n logger: logger\n })\n }\n\n return {\n handleLog: handleLog\n }\n}\n\nexport function isAuthorized(status, handlerType, logger) {\n var loggerHandler = logger.getHandler()\n var sanitizedHandlerType = isArray(loggerHandler)\n ? loggerHandler\n : [loggerHandler]\n return (\n STATUS_PRIORITIES[status] >= STATUS_PRIORITIES[logger.getLevel()] &&\n includes(sanitizedHandlerType, handlerType)\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"loggerCollection.js","names":["_browserCore","require","_logger","STATUS_PRIORITIES","ok","debug","info","notice","warn","error","critical","alert","emerg","exports","startLoggerCollection","lifeCycle","handleLog","logsMessage","logger","handlingStack","savedCommonContext","savedDate","messageContext","extend2Lev","getContext","context","isAuthorized","status","HandlerType","console","displayInConsole","http","rawLogEventData","rawLogsEvent","date","timeStampNow","message","origin","ErrorSource","LOGGER","domainContext","notify","LifeCycleEventType","RAW_LOG_COLLECTED","handlerType","loggerHandler","getHandler","sanitizedHandlerType","isArray","getLevel","includes","data","originalConsoleMethods","loggerToConsoleApiName","call","globalConsole"],"sources":["../../../../src/domain/logsCollection/logger/loggerCollection.js"],"sourcesContent":["import {\n includes,\n extend2Lev,\n ErrorSource,\n timeStampNow,\n LifeCycleEventType,\n isArray,\n originalConsoleMethods\n} from '@cloudcare/browser-core'\nimport { HandlerType } from '../../logger'\n\nexport var STATUS_PRIORITIES = {\n ok: 0,\n debug: 1,\n info: 2,\n notice: 4,\n warn: 5,\n error: 6,\n critical: 7,\n alert: 8,\n emerg: 9\n}\n\nexport function startLoggerCollection(lifeCycle) {\n function handleLog(\n logsMessage,\n logger,\n handlingStack,\n savedCommonContext,\n savedDate\n ) {\n var messageContext = extend2Lev(logger.getContext(), logsMessage.context)\n if (isAuthorized(logsMessage.status, HandlerType.console, logger)) {\n displayInConsole(logsMessage, messageContext)\n }\n if (isAuthorized(logsMessage.status, HandlerType.http, logger)) {\n var rawLogEventData = {\n rawLogsEvent: {\n date: savedDate || timeStampNow(),\n message: logsMessage.message,\n status: logsMessage.status,\n origin: ErrorSource.LOGGER\n },\n messageContext: messageContext,\n savedCommonContext: savedCommonContext\n }\n if (handlingStack) {\n rawLogEventData.domainContext = { handlingStack }\n }\n lifeCycle.notify(LifeCycleEventType.RAW_LOG_COLLECTED, rawLogEventData)\n }\n }\n\n return {\n handleLog: handleLog\n }\n}\n\nexport function isAuthorized(status, handlerType, logger) {\n var loggerHandler = logger.getHandler()\n var sanitizedHandlerType = isArray(loggerHandler)\n ? loggerHandler\n : [loggerHandler]\n return (\n STATUS_PRIORITIES[status] >= STATUS_PRIORITIES[logger.getLevel()] &&\n includes(sanitizedHandlerType, handlerType)\n )\n}\nfunction displayInConsole(data, messageContext) {\n var status = data.status\n var message = data.message\n originalConsoleMethods[loggerToConsoleApiName[status]].call(\n globalConsole,\n message,\n messageContext\n )\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AASA,IAAAC,OAAA,GAAAD,OAAA;AAEO,IAAIE,iBAAiB,GAAG;EAC7BC,EAAE,EAAE,CAAC;EACLC,KAAK,EAAE,CAAC;EACRC,IAAI,EAAE,CAAC;EACPC,MAAM,EAAE,CAAC;EACTC,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE,CAAC;EACRC,QAAQ,EAAE,CAAC;EACXC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAAV,iBAAA,GAAAA,iBAAA;AAEM,SAASW,qBAAqBA,CAACC,SAAS,EAAE;EAC/C,SAASC,SAASA,CAChBC,WAAW,EACXC,MAAM,EACNC,aAAa,EACbC,kBAAkB,EAClBC,SAAS,EACT;IACA,IAAIC,cAAc,GAAG,IAAAC,uBAAU,EAACL,MAAM,CAACM,UAAU,CAAC,CAAC,EAAEP,WAAW,CAACQ,OAAO,CAAC;IACzE,IAAIC,YAAY,CAACT,WAAW,CAACU,MAAM,EAAEC,mBAAW,CAACC,OAAO,EAAEX,MAAM,CAAC,EAAE;MACjEY,gBAAgB,CAACb,WAAW,EAAEK,cAAc,CAAC;IAC/C;IACA,IAAII,YAAY,CAACT,WAAW,CAACU,MAAM,EAAEC,mBAAW,CAACG,IAAI,EAAEb,MAAM,CAAC,EAAE;MAC9D,IAAIc,eAAe,GAAG;QACpBC,YAAY,EAAE;UACZC,IAAI,EAAEb,SAAS,IAAI,IAAAc,yBAAY,EAAC,CAAC;UACjCC,OAAO,EAAEnB,WAAW,CAACmB,OAAO;UAC5BT,MAAM,EAAEV,WAAW,CAACU,MAAM;UAC1BU,MAAM,EAAEC,wBAAW,CAACC;QACtB,CAAC;QACDjB,cAAc,EAAEA,cAAc;QAC9BF,kBAAkB,EAAEA;MACtB,CAAC;MACD,IAAID,aAAa,EAAE;QACjBa,eAAe,CAACQ,aAAa,GAAG;UAAErB,aAAa,EAAbA;QAAc,CAAC;MACnD;MACAJ,SAAS,CAAC0B,MAAM,CAACC,+BAAkB,CAACC,iBAAiB,EAAEX,eAAe,CAAC;IACzE;EACF;EAEA,OAAO;IACLhB,SAAS,EAAEA;EACb,CAAC;AACH;AAEO,SAASU,YAAYA,CAACC,MAAM,EAAEiB,WAAW,EAAE1B,MAAM,EAAE;EACxD,IAAI2B,aAAa,GAAG3B,MAAM,CAAC4B,UAAU,CAAC,CAAC;EACvC,IAAIC,oBAAoB,GAAG,IAAAC,oBAAO,EAACH,aAAa,CAAC,GAC7CA,aAAa,GACb,CAACA,aAAa,CAAC;EACnB,OACE1C,iBAAiB,CAACwB,MAAM,CAAC,IAAIxB,iBAAiB,CAACe,MAAM,CAAC+B,QAAQ,CAAC,CAAC,CAAC,IACjE,IAAAC,qBAAQ,EAACH,oBAAoB,EAAEH,WAAW,CAAC;AAE/C;AACA,SAASd,gBAAgBA,CAACqB,IAAI,EAAE7B,cAAc,EAAE;EAC9C,IAAIK,MAAM,GAAGwB,IAAI,CAACxB,MAAM;EACxB,IAAIS,OAAO,GAAGe,IAAI,CAACf,OAAO;EAC1BgB,mCAAsB,CAACC,sBAAsB,CAAC1B,MAAM,CAAC,CAAC,CAAC2B,IAAI,CACzDC,aAAa,EACbnB,OAAO,EACPd,cACF,CAAC;AACH","ignoreList":[]}
@@ -17,15 +17,15 @@ function startNetworkErrorCollection(configuration, lifeCycle) {
17
17
  }
18
18
  var xhrSubscription = (0, _browserCore.initXhrObservable)().subscribe(function (context) {
19
19
  if (context.state === 'complete') {
20
- handleCompleteRequest(_browserCore.RequestType.XHR, context);
20
+ handleResponse(_browserCore.RequestType.XHR, context);
21
21
  }
22
22
  });
23
23
  var fetchSubscription = (0, _browserCore.initFetchObservable)().subscribe(function (context) {
24
24
  if (context.state === 'resolve') {
25
- handleCompleteRequest(_browserCore.RequestType.FETCH, context);
25
+ handleResponse(_browserCore.RequestType.FETCH, context);
26
26
  }
27
27
  });
28
- function handleCompleteRequest(type, request) {
28
+ function handleResponse(type, request) {
29
29
  if (!(0, _browserCore.isIntakeRequest)(request.url, configuration) && (isRejected(request) || isServerError(request) || configuration.isServerError(request))) {
30
30
  if ('xhr' in request) {
31
31
  computeXhrResponseData(request.xhr, configuration, onResponseDataAvailable);
@@ -36,14 +36,18 @@ function startNetworkErrorCollection(configuration, lifeCycle) {
36
36
  }
37
37
  }
38
38
  function onResponseDataAvailable(responseData) {
39
+ var domainContext = {
40
+ isAborted: request.isAborted,
41
+ handlingStack: request.handlingStack
42
+ };
39
43
  var urlObj = (0, _browserCore.urlParse)(request.url).getParse();
40
44
  lifeCycle.notify(_browserCore.LifeCycleEventType.RAW_LOG_COLLECTED, {
41
45
  rawLogsEvent: {
42
46
  message: format(type) + ' error ' + request.method + ' ' + request.url,
43
47
  date: request.startClocks.timeStamp,
44
48
  error: {
45
- origin: _browserCore.ErrorSource.NETWORK,
46
- stack: responseData || 'Failed to load'
49
+ stack: responseData || 'Failed to load',
50
+ handing: undefined
47
51
  },
48
52
  http: {
49
53
  method: request.method,
@@ -56,7 +60,8 @@ function startNetworkErrorCollection(configuration, lifeCycle) {
56
60
  },
57
61
  status: _logger.StatusType.error,
58
62
  origin: _browserCore.ErrorSource.NETWORK
59
- }
63
+ },
64
+ domainContext: domainContext
60
65
  });
61
66
  }
62
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"networkErrorCollection.js","names":["_browserCore","require","_logger","startNetworkErrorCollection","configuration","lifeCycle","forwardErrorsToLogs","stop","noop","xhrSubscription","initXhrObservable","subscribe","context","state","handleCompleteRequest","RequestType","XHR","fetchSubscription","initFetchObservable","FETCH","type","request","isIntakeRequest","url","isRejected","isServerError","computeXhrResponseData","xhr","onResponseDataAvailable","response","computeFetchResponseText","error","computeFetchErrorText","responseData","urlObj","urlParse","getParse","notify","LifeCycleEventType","RAW_LOG_COLLECTED","rawLogsEvent","message","format","method","date","startClocks","timeStamp","origin","ErrorSource","NETWORK","stack","http","status_code","status","statusGroup","getStatusGroup","urlHost","Host","urlPath","Path","urlPathGroup","replaceNumberCharByPath","StatusType","unsubscribe","callback","truncateResponseText","toStackTraceString","computeStackTrace","clonedResponse","tryToClone","body","window","TextDecoder","text","then","monitor","truncateResponseStream","requestErrorResponseLengthLimit","responseText","responseType","length","substring","stream","bytesLimit","readBytesFromStream","bytes","limitExceeded","decode","undefined","collectStreamBody"],"sources":["../../../../src/domain/logsCollection/networkError/networkErrorCollection.js"],"sourcesContent":["import {\n ErrorSource,\n initXhrObservable,\n RequestType,\n initFetchObservable,\n computeStackTrace,\n toStackTraceString,\n noop,\n each,\n LifeCycleEventType,\n getStatusGroup,\n urlParse,\n replaceNumberCharByPath,\n tryToClone,\n readBytesFromStream,\n monitor,\n isIntakeRequest\n} from '@cloudcare/browser-core'\nimport { StatusType } from '../../logger'\n\nexport function startNetworkErrorCollection(configuration, lifeCycle) {\n if (!configuration.forwardErrorsToLogs) {\n return { stop: noop }\n }\n\n var xhrSubscription = initXhrObservable().subscribe(function (context) {\n if (context.state === 'complete') {\n handleCompleteRequest(RequestType.XHR, context)\n }\n })\n var fetchSubscription = initFetchObservable().subscribe(function (context) {\n if (context.state === 'resolve') {\n handleCompleteRequest(RequestType.FETCH, context)\n }\n })\n\n function handleCompleteRequest(type, request) {\n if (\n !isIntakeRequest(request.url, configuration) &&\n (isRejected(request) ||\n isServerError(request) ||\n configuration.isServerError(request))\n ) {\n if ('xhr' in request) {\n computeXhrResponseData(\n request.xhr,\n configuration,\n onResponseDataAvailable\n )\n } else if (request.response) {\n computeFetchResponseText(\n request.response,\n configuration,\n onResponseDataAvailable\n )\n } else if (request.error) {\n computeFetchErrorText(\n request.error,\n configuration,\n onResponseDataAvailable\n )\n }\n }\n\n function onResponseDataAvailable(responseData) {\n var urlObj = urlParse(request.url).getParse()\n lifeCycle.notify(LifeCycleEventType.RAW_LOG_COLLECTED, {\n rawLogsEvent: {\n message:\n format(type) + ' error ' + request.method + ' ' + request.url,\n date: request.startClocks.timeStamp,\n error: {\n origin: ErrorSource.NETWORK,\n stack: responseData || 'Failed to load'\n },\n http: {\n method: request.method,\n status_code: request.status,\n url: request.url,\n statusGroup: getStatusGroup(request.status),\n urlHost: urlObj.Host,\n urlPath: urlObj.Path,\n urlPathGroup: replaceNumberCharByPath(urlObj.Path)\n },\n status: StatusType.error,\n origin: ErrorSource.NETWORK\n }\n })\n }\n }\n\n return {\n stop: function () {\n xhrSubscription.unsubscribe()\n fetchSubscription.unsubscribe()\n }\n }\n}\n\nexport function computeXhrResponseData(xhr, configuration, callback) {\n if (typeof xhr.response === 'string') {\n callback(truncateResponseText(xhr.response, configuration))\n } else {\n callback(xhr.response)\n }\n}\n\nexport function computeFetchErrorText(error, configuration, callback) {\n callback(\n truncateResponseText(\n toStackTraceString(computeStackTrace(error)),\n configuration\n )\n )\n}\n\nexport function computeFetchResponseText(response, configuration, callback) {\n var clonedResponse = tryToClone(response)\n if (!clonedResponse || !clonedResponse.body) {\n // if the clone failed or if the body is null, let's not try to read it.\n callback()\n } else if (!window.TextDecoder) {\n // If the browser doesn't support TextDecoder, let's read the whole response then truncate it.\n //\n // This should only be the case on early versions of Edge (before they migrated to Chromium).\n // Even if it could be possible to implement a workaround for the missing TextDecoder API (using\n // a Blob and FileReader), we found another issue preventing us from reading only the first\n // bytes from the response: contrary to other browsers, when reading from the cloned response,\n // if the original response gets canceled, the cloned response is also canceled and we can't\n // know about it. In the following illustration, the promise returned by `reader.read()` may\n // never be fulfilled:\n //\n // fetch('/').then((response) => {\n // const reader = response.clone().body.getReader()\n // readMore()\n // function readMore() {\n // reader.read().then(\n // (result) => {\n // if (result.done) {\n // console.log('done')\n // } else {\n // readMore()\n // }\n // },\n // () => console.log('error')\n // )\n // }\n // response.body.getReader().cancel()\n // })\n clonedResponse.text().then(\n monitor(function (text) {\n return callback(truncateResponseText(text, configuration))\n }),\n monitor(function (error) {\n return callback('Unable to retrieve response: ' + error)\n })\n )\n } else {\n truncateResponseStream(\n clonedResponse.body,\n configuration.requestErrorResponseLengthLimit,\n function (error, responseText) {\n if (error) {\n callback('Unable to retrieve response: ' + error)\n } else {\n callback(responseText)\n }\n }\n )\n }\n}\n\nfunction isRejected(request) {\n return request.status === 0 && request.responseType !== 'opaque'\n}\n\nfunction isServerError(request) {\n return request.status >= 500\n}\n\nfunction truncateResponseText(responseText, configuration) {\n if (responseText.length > configuration.requestErrorResponseLengthLimit) {\n return (\n responseText.substring(0, configuration.requestErrorResponseLengthLimit) +\n '...'\n )\n }\n return responseText\n}\n\nfunction format(type) {\n if (RequestType.XHR === type) {\n return 'XHR'\n }\n return 'Fetch'\n}\n\nfunction truncateResponseStream(stream, bytesLimit, callback) {\n readBytesFromStream(\n stream,\n function (error, bytes, limitExceeded) {\n if (error) {\n callback(error)\n } else {\n var responseText = new TextDecoder().decode(bytes)\n if (limitExceeded) {\n responseText += '...'\n }\n callback(undefined, responseText)\n }\n },\n {\n bytesLimit: bytesLimit,\n collectStreamBody: true\n }\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"networkErrorCollection.js","names":["_browserCore","require","_logger","startNetworkErrorCollection","configuration","lifeCycle","forwardErrorsToLogs","stop","noop","xhrSubscription","initXhrObservable","subscribe","context","state","handleResponse","RequestType","XHR","fetchSubscription","initFetchObservable","FETCH","type","request","isIntakeRequest","url","isRejected","isServerError","computeXhrResponseData","xhr","onResponseDataAvailable","response","computeFetchResponseText","error","computeFetchErrorText","responseData","domainContext","isAborted","handlingStack","urlObj","urlParse","getParse","notify","LifeCycleEventType","RAW_LOG_COLLECTED","rawLogsEvent","message","format","method","date","startClocks","timeStamp","stack","handing","undefined","http","status_code","status","statusGroup","getStatusGroup","urlHost","Host","urlPath","Path","urlPathGroup","replaceNumberCharByPath","StatusType","origin","ErrorSource","NETWORK","unsubscribe","callback","truncateResponseText","toStackTraceString","computeStackTrace","clonedResponse","tryToClone","body","window","TextDecoder","text","then","monitor","truncateResponseStream","requestErrorResponseLengthLimit","responseText","responseType","length","substring","stream","bytesLimit","readBytesFromStream","bytes","limitExceeded","decode","collectStreamBody"],"sources":["../../../../src/domain/logsCollection/networkError/networkErrorCollection.js"],"sourcesContent":["import {\n ErrorSource,\n initXhrObservable,\n RequestType,\n initFetchObservable,\n computeStackTrace,\n toStackTraceString,\n noop,\n LifeCycleEventType,\n getStatusGroup,\n urlParse,\n replaceNumberCharByPath,\n tryToClone,\n readBytesFromStream,\n monitor,\n isIntakeRequest\n} from '@cloudcare/browser-core'\nimport { StatusType } from '../../logger'\n\nexport function startNetworkErrorCollection(configuration, lifeCycle) {\n if (!configuration.forwardErrorsToLogs) {\n return { stop: noop }\n }\n\n var xhrSubscription = initXhrObservable().subscribe(function (context) {\n if (context.state === 'complete') {\n handleResponse(RequestType.XHR, context)\n }\n })\n var fetchSubscription = initFetchObservable().subscribe(function (context) {\n if (context.state === 'resolve') {\n handleResponse(RequestType.FETCH, context)\n }\n })\n\n function handleResponse(type, request) {\n if (\n !isIntakeRequest(request.url, configuration) &&\n (isRejected(request) ||\n isServerError(request) ||\n configuration.isServerError(request))\n ) {\n if ('xhr' in request) {\n computeXhrResponseData(\n request.xhr,\n configuration,\n onResponseDataAvailable\n )\n } else if (request.response) {\n computeFetchResponseText(\n request.response,\n configuration,\n onResponseDataAvailable\n )\n } else if (request.error) {\n computeFetchErrorText(\n request.error,\n configuration,\n onResponseDataAvailable\n )\n }\n }\n\n function onResponseDataAvailable(responseData) {\n var domainContext = {\n isAborted: request.isAborted,\n handlingStack: request.handlingStack\n }\n var urlObj = urlParse(request.url).getParse()\n lifeCycle.notify(LifeCycleEventType.RAW_LOG_COLLECTED, {\n rawLogsEvent: {\n message:\n format(type) + ' error ' + request.method + ' ' + request.url,\n date: request.startClocks.timeStamp,\n error: {\n stack: responseData || 'Failed to load',\n handing: undefined\n },\n http: {\n method: request.method,\n status_code: request.status,\n url: request.url,\n statusGroup: getStatusGroup(request.status),\n urlHost: urlObj.Host,\n urlPath: urlObj.Path,\n urlPathGroup: replaceNumberCharByPath(urlObj.Path)\n },\n status: StatusType.error,\n origin: ErrorSource.NETWORK\n },\n domainContext: domainContext\n })\n }\n }\n\n return {\n stop: function () {\n xhrSubscription.unsubscribe()\n fetchSubscription.unsubscribe()\n }\n }\n}\n\nexport function computeXhrResponseData(xhr, configuration, callback) {\n if (typeof xhr.response === 'string') {\n callback(truncateResponseText(xhr.response, configuration))\n } else {\n callback(xhr.response)\n }\n}\n\nexport function computeFetchErrorText(error, configuration, callback) {\n callback(\n truncateResponseText(\n toStackTraceString(computeStackTrace(error)),\n configuration\n )\n )\n}\n\nexport function computeFetchResponseText(response, configuration, callback) {\n var clonedResponse = tryToClone(response)\n if (!clonedResponse || !clonedResponse.body) {\n // if the clone failed or if the body is null, let's not try to read it.\n callback()\n } else if (!window.TextDecoder) {\n // If the browser doesn't support TextDecoder, let's read the whole response then truncate it.\n //\n // This should only be the case on early versions of Edge (before they migrated to Chromium).\n // Even if it could be possible to implement a workaround for the missing TextDecoder API (using\n // a Blob and FileReader), we found another issue preventing us from reading only the first\n // bytes from the response: contrary to other browsers, when reading from the cloned response,\n // if the original response gets canceled, the cloned response is also canceled and we can't\n // know about it. In the following illustration, the promise returned by `reader.read()` may\n // never be fulfilled:\n //\n // fetch('/').then((response) => {\n // const reader = response.clone().body.getReader()\n // readMore()\n // function readMore() {\n // reader.read().then(\n // (result) => {\n // if (result.done) {\n // console.log('done')\n // } else {\n // readMore()\n // }\n // },\n // () => console.log('error')\n // )\n // }\n // response.body.getReader().cancel()\n // })\n clonedResponse.text().then(\n monitor(function (text) {\n return callback(truncateResponseText(text, configuration))\n }),\n monitor(function (error) {\n return callback('Unable to retrieve response: ' + error)\n })\n )\n } else {\n truncateResponseStream(\n clonedResponse.body,\n configuration.requestErrorResponseLengthLimit,\n function (error, responseText) {\n if (error) {\n callback('Unable to retrieve response: ' + error)\n } else {\n callback(responseText)\n }\n }\n )\n }\n}\n\nfunction isRejected(request) {\n return request.status === 0 && request.responseType !== 'opaque'\n}\n\nfunction isServerError(request) {\n return request.status >= 500\n}\n\nfunction truncateResponseText(responseText, configuration) {\n if (responseText.length > configuration.requestErrorResponseLengthLimit) {\n return (\n responseText.substring(0, configuration.requestErrorResponseLengthLimit) +\n '...'\n )\n }\n return responseText\n}\n\nfunction format(type) {\n if (RequestType.XHR === type) {\n return 'XHR'\n }\n return 'Fetch'\n}\n\nfunction truncateResponseStream(stream, bytesLimit, callback) {\n readBytesFromStream(\n stream,\n function (error, bytes, limitExceeded) {\n if (error) {\n callback(error)\n } else {\n var responseText = new TextDecoder().decode(bytes)\n if (limitExceeded) {\n responseText += '...'\n }\n callback(undefined, responseText)\n }\n },\n {\n bytesLimit: bytesLimit,\n collectStreamBody: true\n }\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,25 +6,16 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.startReportCollection = startReportCollection;
7
7
  var _browserCore = require("@cloudcare/browser-core");
8
8
  var _logger = require("../../logger");
9
- var _LogStatusForReport;
10
- 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); }
11
- 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; }
12
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
- 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); }
14
- var LogStatusForReport = (_LogStatusForReport = {}, _defineProperty(_LogStatusForReport, _browserCore.RawReportType.cspViolation, _logger.StatusType.error), _defineProperty(_LogStatusForReport, _browserCore.RawReportType.intervention, _logger.StatusType.error), _defineProperty(_LogStatusForReport, _browserCore.RawReportType.deprecation, _logger.StatusType.warn), _LogStatusForReport);
9
+ var _createErrorFieldFromRawError = require("../../createErrorFieldFromRawError");
15
10
  function startReportCollection(configuration, lifeCycle) {
16
- var reportSubscription = (0, _browserCore.initReportObservable)(configuration, configuration.forwardReports).subscribe(function (report) {
17
- var message = report.message;
18
- var status = LogStatusForReport[report.type];
11
+ var reportSubscription = (0, _browserCore.initReportObservable)(configuration, configuration.forwardReports).subscribe(function (rawError) {
12
+ var message = rawError.message;
13
+ var status = rawError.originalError.type === 'deprecation' ? _logger.StatusType.warn : _logger.StatusType.error;
19
14
  var error;
20
15
  if (status === _logger.StatusType.error) {
21
- error = {
22
- kind: report.subtype,
23
- origin: _browserCore.ErrorSource.REPORT,
24
- stack: report.stack
25
- };
16
+ error = (0, _createErrorFieldFromRawError.createErrorFieldFromRawError)(rawError);
26
17
  } else if (report.stack) {
27
- message += ' Found in ' + (0, _browserCore.getFileFromStackTraceString)(report.stack);
18
+ message += ' Found in ' + (0, _browserCore.getFileFromStackTraceString)(rawError.stack);
28
19
  }
29
20
  lifeCycle.notify(_browserCore.LifeCycleEventType.RAW_LOG_COLLECTED, {
30
21
  rawLogsEvent: {
@@ -1 +1 @@
1
- {"version":3,"file":"reportCollection.js","names":["_browserCore","require","_logger","_LogStatusForReport","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","TypeError","Number","LogStatusForReport","RawReportType","cspViolation","StatusType","error","intervention","deprecation","warn","startReportCollection","configuration","lifeCycle","reportSubscription","initReportObservable","forwardReports","subscribe","report","message","status","type","kind","subtype","origin","ErrorSource","REPORT","stack","getFileFromStackTraceString","notify","LifeCycleEventType","RAW_LOG_COLLECTED","rawLogsEvent","date","timeStampNow","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,\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":"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","ignoreList":[]}
1
+ {"version":3,"file":"reportCollection.js","names":["_browserCore","require","_logger","_createErrorFieldFromRawError","startReportCollection","configuration","lifeCycle","reportSubscription","initReportObservable","forwardReports","subscribe","rawError","message","status","originalError","type","StatusType","warn","error","createErrorFieldFromRawError","report","stack","getFileFromStackTraceString","notify","LifeCycleEventType","RAW_LOG_COLLECTED","rawLogsEvent","date","timeStampNow","origin","ErrorSource","REPORT","stop","unsubscribe"],"sources":["../../../../src/domain/logsCollection/report/reportCollection.js"],"sourcesContent":["import {\n timeStampNow,\n ErrorSource,\n getFileFromStackTraceString,\n initReportObservable,\n LifeCycleEventType\n} from '@cloudcare/browser-core'\nimport { StatusType } from '../../logger'\nimport { createErrorFieldFromRawError } from '../../createErrorFieldFromRawError'\n\nexport function startReportCollection(configuration, lifeCycle) {\n var reportSubscription = initReportObservable(\n configuration,\n configuration.forwardReports\n ).subscribe(function (rawError) {\n var message = rawError.message\n var status =\n rawError.originalError.type === 'deprecation'\n ? StatusType.warn\n : StatusType.error\n var error\n if (status === StatusType.error) {\n error = createErrorFieldFromRawError(rawError)\n } else if (report.stack) {\n message += ' Found in ' + getFileFromStackTraceString(rawError.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,IAAAA,YAAA,GAAAC,OAAA;AAOA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,6BAAA,GAAAF,OAAA;AAEO,SAASG,qBAAqBA,CAACC,aAAa,EAAEC,SAAS,EAAE;EAC9D,IAAIC,kBAAkB,GAAG,IAAAC,iCAAoB,EAC3CH,aAAa,EACbA,aAAa,CAACI,cAChB,CAAC,CAACC,SAAS,CAAC,UAAUC,QAAQ,EAAE;IAC9B,IAAIC,OAAO,GAAGD,QAAQ,CAACC,OAAO;IAC9B,IAAIC,MAAM,GACRF,QAAQ,CAACG,aAAa,CAACC,IAAI,KAAK,aAAa,GACzCC,kBAAU,CAACC,IAAI,GACfD,kBAAU,CAACE,KAAK;IACtB,IAAIA,KAAK;IACT,IAAIL,MAAM,KAAKG,kBAAU,CAACE,KAAK,EAAE;MAC/BA,KAAK,GAAG,IAAAC,0DAA4B,EAACR,QAAQ,CAAC;IAChD,CAAC,MAAM,IAAIS,MAAM,CAACC,KAAK,EAAE;MACvBT,OAAO,IAAI,YAAY,GAAG,IAAAU,wCAA2B,EAACX,QAAQ,CAACU,KAAK,CAAC;IACvE;IAEAf,SAAS,CAACiB,MAAM,CAACC,+BAAkB,CAACC,iBAAiB,EAAE;MACrDC,YAAY,EAAE;QACZC,IAAI,EAAE,IAAAC,yBAAY,EAAC,CAAC;QACpBhB,OAAO,EAAEA,OAAO;QAChBiB,MAAM,EAAEC,wBAAW,CAACC,MAAM;QAC1Bb,KAAK,EAAEA,KAAK;QACZL,MAAM,EAAEA;MACV;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAO;IACLmB,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChBzB,kBAAkB,CAAC0B,WAAW,CAAC,CAAC;IAClC;EACF,CAAC;AACH","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.startRuntimeErrorCollection = startRuntimeErrorCollection;
7
7
  var _browserCore = require("@cloudcare/browser-core");
8
8
  var _logger = require("../../logger");
9
+ var _createErrorFieldFromRawError = require("../../createErrorFieldFromRawError");
9
10
  function startRuntimeErrorCollection(configuration, lifeCycle) {
10
11
  if (!configuration.forwardErrorsToLogs) {
11
12
  return {
@@ -19,11 +20,7 @@ function startRuntimeErrorCollection(configuration, lifeCycle) {
19
20
  rawLogsEvent: {
20
21
  message: rawError.message,
21
22
  date: rawError.startClocks.timeStamp,
22
- error: {
23
- kind: rawError.type,
24
- stack: rawError.stack,
25
- causes: rawError.causes
26
- },
23
+ error: (0, _createErrorFieldFromRawError.createErrorFieldFromRawError)(rawError),
27
24
  origin: _browserCore.ErrorSource.SOURCE,
28
25
  status: _logger.StatusType.error
29
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeErrorCollection.js","names":["_browserCore","require","_logger","startRuntimeErrorCollection","configuration","lifeCycle","forwardErrorsToLogs","stop","noop","rawErrorObservable","Observable","_trackRuntimeError","trackRuntimeError","rawErrorSubscription","subscribe","rawError","notify","LifeCycleEventType","RAW_LOG_COLLECTED","rawLogsEvent","message","date","startClocks","timeStamp","error","kind","type","stack","causes","origin","ErrorSource","SOURCE","status","StatusType","unsubscribe"],"sources":["../../../../src/domain/logsCollection/rumtimeError/runtimeErrorCollection.js"],"sourcesContent":["import {\n noop,\n ErrorSource,\n trackRuntimeError,\n Observable,\n LifeCycleEventType\n} 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 stack: rawError.stack,\n causes: rawError.causes\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,IAAAA,YAAA,GAAAC,OAAA;AAOA,IAAAC,OAAA,GAAAD,OAAA;AAEO,SAASE,2BAA2BA,CAACC,aAAa,EAAEC,SAAS,EAAE;EACpE,IAAI,CAACD,aAAa,CAACE,mBAAmB,EAAE;IACtC,OAAO;MAAEC,IAAI,EAAEC;IAAK,CAAC;EACvB;EAEA,IAAIC,kBAAkB,GAAG,IAAIC,uBAAU,CAAC,CAAC;EAEzC,IAAIC,kBAAkB,GAAG,IAAAC,8BAAiB,EAACH,kBAAkB,CAAC;EAE9D,IAAII,oBAAoB,GAAGJ,kBAAkB,CAACK,SAAS,CAAC,UAAUC,QAAQ,EAAE;IAC1EV,SAAS,CAACW,MAAM,CAACC,+BAAkB,CAACC,iBAAiB,EAAE;MACrDC,YAAY,EAAE;QACZC,OAAO,EAAEL,QAAQ,CAACK,OAAO;QACzBC,IAAI,EAAEN,QAAQ,CAACO,WAAW,CAACC,SAAS;QACpCC,KAAK,EAAE;UACLC,IAAI,EAAEV,QAAQ,CAACW,IAAI;UACnBC,KAAK,EAAEZ,QAAQ,CAACY,KAAK;UACrBC,MAAM,EAAEb,QAAQ,CAACa;QACnB,CAAC;QACDC,MAAM,EAAEC,wBAAW,CAACC,MAAM;QAC1BC,MAAM,EAAEC,kBAAU,CAACT;MACrB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAO;IACLjB,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChBI,kBAAkB,CAACJ,IAAI,CAAC,CAAC;MACzBM,oBAAoB,CAACqB,WAAW,CAAC,CAAC;IACpC;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"runtimeErrorCollection.js","names":["_browserCore","require","_logger","_createErrorFieldFromRawError","startRuntimeErrorCollection","configuration","lifeCycle","forwardErrorsToLogs","stop","noop","rawErrorObservable","Observable","_trackRuntimeError","trackRuntimeError","rawErrorSubscription","subscribe","rawError","notify","LifeCycleEventType","RAW_LOG_COLLECTED","rawLogsEvent","message","date","startClocks","timeStamp","error","createErrorFieldFromRawError","origin","ErrorSource","SOURCE","status","StatusType","unsubscribe"],"sources":["../../../../src/domain/logsCollection/rumtimeError/runtimeErrorCollection.js"],"sourcesContent":["import {\n noop,\n ErrorSource,\n trackRuntimeError,\n Observable,\n LifeCycleEventType\n} from '@cloudcare/browser-core'\nimport { StatusType } from '../../logger'\nimport { createErrorFieldFromRawError } from '../../createErrorFieldFromRawError'\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: createErrorFieldFromRawError(rawError),\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,IAAAA,YAAA,GAAAC,OAAA;AAOA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,6BAAA,GAAAF,OAAA;AACO,SAASG,2BAA2BA,CAACC,aAAa,EAAEC,SAAS,EAAE;EACpE,IAAI,CAACD,aAAa,CAACE,mBAAmB,EAAE;IACtC,OAAO;MAAEC,IAAI,EAAEC;IAAK,CAAC;EACvB;EAEA,IAAIC,kBAAkB,GAAG,IAAIC,uBAAU,CAAC,CAAC;EAEzC,IAAIC,kBAAkB,GAAG,IAAAC,8BAAiB,EAACH,kBAAkB,CAAC;EAE9D,IAAII,oBAAoB,GAAGJ,kBAAkB,CAACK,SAAS,CAAC,UAAUC,QAAQ,EAAE;IAC1EV,SAAS,CAACW,MAAM,CAACC,+BAAkB,CAACC,iBAAiB,EAAE;MACrDC,YAAY,EAAE;QACZC,OAAO,EAAEL,QAAQ,CAACK,OAAO;QACzBC,IAAI,EAAEN,QAAQ,CAACO,WAAW,CAACC,SAAS;QACpCC,KAAK,EAAE,IAAAC,0DAA4B,EAACV,QAAQ,CAAC;QAC7CW,MAAM,EAAEC,wBAAW,CAACC,MAAM;QAC1BC,MAAM,EAAEC,kBAAU,CAACN;MACrB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAO;IACLjB,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChBI,kBAAkB,CAACJ,IAAI,CAAC,CAAC;MACzBM,oBAAoB,CAACkB,WAAW,CAAC,CAAC;IACpC;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.startReportError = startReportError;
7
+ var _browserCore = require("@cloudcare/browser-core");
8
+ var _logger = require("./logger");
9
+ function startReportError(lifeCycle) {
10
+ return function (error) {
11
+ lifeCycle.notify(_browserCore.LifeCycleEventType.RAW_LOG_COLLECTED, {
12
+ rawLogsEvent: {
13
+ message: error.message,
14
+ date: error.startClocks.timeStamp,
15
+ origin: _browserCore.ErrorSource.AGENT,
16
+ status: _logger.StatusType.error
17
+ }
18
+ });
19
+ (0, _browserCore.addTelemetryDebug)('Error reported to customer', {
20
+ 'error.message': error.message
21
+ });
22
+ };
23
+ }
24
+ //# sourceMappingURL=reportError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportError.js","names":["_browserCore","require","_logger","startReportError","lifeCycle","error","notify","LifeCycleEventType","RAW_LOG_COLLECTED","rawLogsEvent","message","date","startClocks","timeStamp","origin","ErrorSource","AGENT","status","StatusType","addTelemetryDebug"],"sources":["../../src/domain/reportError.js"],"sourcesContent":["import {\n ErrorSource,\n LifeCycleEventType,\n addTelemetryDebug\n} from '@cloudcare/browser-core'\nimport { StatusType } from './logger'\nexport function startReportError(lifeCycle) {\n return function (error) {\n lifeCycle.notify(LifeCycleEventType.RAW_LOG_COLLECTED, {\n rawLogsEvent: {\n message: error.message,\n date: error.startClocks.timeStamp,\n origin: ErrorSource.AGENT,\n status: StatusType.error\n }\n })\n addTelemetryDebug('Error reported to customer', {\n 'error.message': error.message\n })\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,OAAA,GAAAD,OAAA;AACO,SAASE,gBAAgBA,CAACC,SAAS,EAAE;EAC1C,OAAO,UAAUC,KAAK,EAAE;IACtBD,SAAS,CAACE,MAAM,CAACC,+BAAkB,CAACC,iBAAiB,EAAE;MACrDC,YAAY,EAAE;QACZC,OAAO,EAAEL,KAAK,CAACK,OAAO;QACtBC,IAAI,EAAEN,KAAK,CAACO,WAAW,CAACC,SAAS;QACjCC,MAAM,EAAEC,wBAAW,CAACC,KAAK;QACzBC,MAAM,EAAEC,kBAAU,CAACb;MACrB;IACF,CAAC,CAAC;IACF,IAAAc,8BAAiB,EAAC,4BAA4B,EAAE;MAC9C,eAAe,EAAEd,KAAK,CAACK;IACzB,CAAC,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
@@ -5,10 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.startLogsBatch = startLogsBatch;
7
7
  var _browserCore = require("@cloudcare/browser-core");
8
- function startLogsBatch(configuration, lifeCycle, reportError, pageExitObservable, sessionExpireObservable) {
9
- var batch = (0, _browserCore.startBatchWithReplica)(configuration, configuration.logsEndpoint, reportError, pageExitObservable, sessionExpireObservable);
8
+ function startLogsBatch(configuration, lifeCycle, reportError, pageExitObservable, session) {
9
+ var batch = (0, _browserCore.startBatchWithReplica)(configuration, {
10
+ endpoint: configuration.logsEndpoint,
11
+ encoder: (0, _browserCore.createIdentityEncoder)()
12
+ }, reportError, pageExitObservable, session.expireObservable);
10
13
  lifeCycle.subscribe(_browserCore.LifeCycleEventType.LOG_COLLECTED, function (serverLogsEvent) {
11
14
  batch.add(serverLogsEvent);
12
15
  });
16
+ return batch;
13
17
  }
14
18
  //# sourceMappingURL=startLogsBatch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"startLogsBatch.js","names":["_browserCore","require","startLogsBatch","configuration","lifeCycle","reportError","pageExitObservable","sessionExpireObservable","batch","startBatchWithReplica","logsEndpoint","subscribe","LifeCycleEventType","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,IAAAA,YAAA,GAAAC,OAAA;AAKO,SAASC,cAAcA,CAC5BC,aAAa,EACbC,SAAS,EACTC,WAAW,EACXC,kBAAkB,EAClBC,uBAAuB,EACvB;EACA,IAAIC,KAAK,GAAG,IAAAC,kCAAqB,EAC/BN,aAAa,EACbA,aAAa,CAACO,YAAY,EAC1BL,WAAW,EACXC,kBAAkB,EAClBC,uBACF,CAAC;EAEDH,SAAS,CAACO,SAAS,CACjBC,+BAAkB,CAACC,aAAa,EAChC,UAAUC,eAAe,EAAE;IACzBN,KAAK,CAACO,GAAG,CAACD,eAAe,CAAC;EAC5B,CACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"startLogsBatch.js","names":["_browserCore","require","startLogsBatch","configuration","lifeCycle","reportError","pageExitObservable","session","batch","startBatchWithReplica","endpoint","logsEndpoint","encoder","createIdentityEncoder","expireObservable","subscribe","LifeCycleEventType","LOG_COLLECTED","serverLogsEvent","add"],"sources":["../../src/transport/startLogsBatch.js"],"sourcesContent":["import {\n startBatchWithReplica,\n LifeCycleEventType,\n createIdentityEncoder\n} from '@cloudcare/browser-core'\n\nexport function startLogsBatch(\n configuration,\n lifeCycle,\n reportError,\n pageExitObservable,\n session\n) {\n var batch = startBatchWithReplica(\n configuration,\n { endpoint: configuration.logsEndpoint, encoder: createIdentityEncoder() },\n reportError,\n pageExitObservable,\n session.expireObservable\n )\n\n lifeCycle.subscribe(\n LifeCycleEventType.LOG_COLLECTED,\n function (serverLogsEvent) {\n batch.add(serverLogsEvent)\n }\n )\n return batch\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAMO,SAASC,cAAcA,CAC5BC,aAAa,EACbC,SAAS,EACTC,WAAW,EACXC,kBAAkB,EAClBC,OAAO,EACP;EACA,IAAIC,KAAK,GAAG,IAAAC,kCAAqB,EAC/BN,aAAa,EACb;IAAEO,QAAQ,EAAEP,aAAa,CAACQ,YAAY;IAAEC,OAAO,EAAE,IAAAC,kCAAqB,EAAC;EAAE,CAAC,EAC1ER,WAAW,EACXC,kBAAkB,EAClBC,OAAO,CAACO,gBACV,CAAC;EAEDV,SAAS,CAACW,SAAS,CACjBC,+BAAkB,CAACC,aAAa,EAChC,UAAUC,eAAe,EAAE;IACzBV,KAAK,CAACW,GAAG,CAACD,eAAe,CAAC;EAC5B,CACF,CAAC;EACD,OAAOV,KAAK;AACd","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  export var buildEnv = {
2
- sdkVersion: "3.1.23",
2
+ sdkVersion: "3.2.0",
3
3
  sdkName: 'df_web_logs_sdk'
4
4
  };
5
5
  //# sourceMappingURL=buildEnv.js.map
@@ -1,65 +1,31 @@
1
- import { BoundedBuffer, createContextManager, makePublicApi, CustomerDataType, display, deepClone, timeStampNow, checkUser, sanitizeUser, monitor, storeContextManager } from '@cloudcare/browser-core';
2
- import { validateAndBuildLogsConfiguration } from '../domain/configuration';
1
+ import { createContextManager, makePublicApi, CustomerDataType, checkUser, sanitizeUser, monitor, storeContextManager, displayAlreadyInitializedError, assign } from '@cloudcare/browser-core';
3
2
  import { Logger } from '../domain/logger';
3
+ import { buildCommonContext } from '../domain/contexts/commonContext';
4
+ import { createPreStartStrategy } from './preStartLogs';
4
5
  var LOGS_STORAGE_KEY = 'logs';
5
6
  export function makeLogsPublicApi(startLogsImpl) {
6
- var isAlreadyInitialized = false;
7
7
  var globalContextManager = createContextManager(CustomerDataType.GlobalContext);
8
8
  var userContextManager = createContextManager(CustomerDataType.User);
9
- var customLoggers = {};
10
- var getInternalContextStrategy = function getInternalContextStrategy() {
11
- return undefined;
12
- };
13
- var beforeInitLoggerLog = new BoundedBuffer();
14
- var _handleLogStrategy = function handleLogStrategy(logsMessage, logger, savedCommonContext, date) {
15
- if (typeof savedCommonContext === 'undefined') {
16
- savedCommonContext = deepClone(buildCommonContext());
17
- }
18
- if (typeof date === 'undefined') {
19
- date = timeStampNow();
9
+ function getCommonContext() {
10
+ return buildCommonContext(globalContextManager, userContextManager);
11
+ }
12
+ var strategy = createPreStartStrategy(getCommonContext, function (initConfiguration, configuration) {
13
+ if (initConfiguration.storeContextsToLocal) {
14
+ storeContextManager(configuration, globalContextManager, LOGS_STORAGE_KEY, CustomerDataType.GlobalContext);
15
+ storeContextManager(configuration, userContextManager, LOGS_STORAGE_KEY, CustomerDataType.User);
20
16
  }
21
- beforeInitLoggerLog.add(function () {
22
- return _handleLogStrategy(logsMessage, logger, savedCommonContext, date);
23
- });
24
- };
25
- var getInitConfigurationStrategy = function getInitConfigurationStrategy() {
26
- return undefined;
27
- };
17
+ var startLogsResult = startLogsImpl(initConfiguration, configuration, getCommonContext);
18
+ strategy = createPostStartStrategy(initConfiguration, startLogsResult);
19
+ return startLogsResult;
20
+ });
21
+ var customLoggers = {};
28
22
  var mainLogger = new Logger(function () {
29
- return _handleLogStrategy.apply(this, arguments);
23
+ return strategy.handleLog.apply(this, arguments);
30
24
  });
31
- function buildCommonContext() {
32
- return {
33
- view: {
34
- referrer: document.referrer,
35
- url: window.location.href
36
- },
37
- context: globalContextManager.getContext(),
38
- user: userContextManager.getContext()
39
- };
40
- }
41
25
  return makePublicApi({
42
26
  logger: mainLogger,
43
27
  init: monitor(function (initConfiguration) {
44
- if (!canInitLogs(initConfiguration)) {
45
- return;
46
- }
47
- var configuration = validateAndBuildLogsConfiguration(initConfiguration);
48
- if (!configuration) {
49
- return;
50
- }
51
- if (initConfiguration.storeContextsToLocal) {
52
- storeContextManager(configuration, globalContextManager, LOGS_STORAGE_KEY, CustomerDataType.GlobalContext);
53
- storeContextManager(configuration, userContextManager, LOGS_STORAGE_KEY, CustomerDataType.User);
54
- }
55
- var _startLogsImpl = startLogsImpl(configuration, buildCommonContext, mainLogger);
56
- _handleLogStrategy = _startLogsImpl.handleLog;
57
- getInternalContextStrategy = _startLogsImpl.getInternalContext;
58
- getInitConfigurationStrategy = function getInitConfigurationStrategy() {
59
- return deepClone(initConfiguration);
60
- };
61
- beforeInitLoggerLog.drain();
62
- isAlreadyInitialized = true;
28
+ return strategy.init(initConfiguration);
63
29
  }),
64
30
  getGlobalContext: monitor(function () {
65
31
  return globalContextManager.getContext();
@@ -81,18 +47,18 @@ export function makeLogsPublicApi(startLogsImpl) {
81
47
  conf = {};
82
48
  }
83
49
  customLoggers[name] = new Logger(function () {
84
- return _handleLogStrategy(this.arguments);
85
- }, name, conf.handler, conf.level, conf.context);
50
+ return strategy.handleLog.apply(this, arguments);
51
+ }, sanitize(name), conf.handler, conf.level, sanitize(conf.context));
86
52
  return customLoggers[name];
87
53
  }),
88
54
  getLogger: monitor(function (name) {
89
55
  return customLoggers[name];
90
56
  }),
91
57
  getInitConfiguration: monitor(function () {
92
- return getInitConfigurationStrategy();
58
+ return strategy.getInitConfiguration();
93
59
  }),
94
60
  getInternalContext: monitor(function (startTime) {
95
- return getInternalContextStrategy(startTime);
61
+ return strategy.getInternalContext(startTime);
96
62
  }),
97
63
  setUser: monitor(function (newUser) {
98
64
  if (checkUser(newUser)) {
@@ -105,18 +71,25 @@ export function makeLogsPublicApi(startLogsImpl) {
105
71
  removeUserProperty: monitor(function (key) {
106
72
  return userContextManager.removeContextProperty(key);
107
73
  }),
74
+ setUserProperty: monitor(function (key, property) {
75
+ var newUser = {};
76
+ newUser[key] = property;
77
+ var sanitizedProperty = sanitizeUser(newUser)[key];
78
+ userContextManager.setContextProperty(key, sanitizedProperty);
79
+ }),
108
80
  clearUser: monitor(function () {
109
81
  return userContextManager.clearContext();
110
82
  })
111
83
  });
112
- function canInitLogs(initConfiguration) {
113
- if (isAlreadyInitialized) {
114
- if (!initConfiguration.silentMultipleInit) {
115
- display.error('DD_LOGS is already initialized.');
116
- }
117
- return false;
84
+ }
85
+ function createPostStartStrategy(initConfiguration, startLogsResult) {
86
+ return assign({
87
+ init: function init(initConfiguration) {
88
+ displayAlreadyInitializedError('DATAFLUX_LOGS', initConfiguration);
89
+ },
90
+ getInitConfiguration: function getInitConfiguration() {
91
+ return initConfiguration;
118
92
  }
119
- return true;
120
- }
93
+ }, startLogsResult);
121
94
  }
122
95
  //# sourceMappingURL=logsPublicApi.js.map