@cloudcare/browser-logs 3.1.24 → 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.
- package/bundle/dataflux-logs.js +1 -1
- package/cjs/boot/buildEnv.js +1 -1
- package/cjs/boot/logsPublicApi.js +35 -62
- package/cjs/boot/logsPublicApi.js.map +1 -1
- package/cjs/boot/preStartLogs.js +72 -0
- package/cjs/boot/preStartLogs.js.map +1 -0
- package/cjs/boot/startLogs.js +57 -38
- package/cjs/boot/startLogs.js.map +1 -1
- package/cjs/domain/assembly.js +5 -7
- package/cjs/domain/assembly.js.map +1 -1
- package/cjs/domain/contexts/commonContext.js +17 -0
- package/cjs/domain/contexts/commonContext.js.map +1 -0
- package/cjs/domain/contexts/internalContext.js.map +1 -0
- package/cjs/domain/createErrorFieldFromRawError.js +20 -0
- package/cjs/domain/createErrorFieldFromRawError.js.map +1 -0
- package/cjs/domain/logger.js +61 -54
- package/cjs/domain/logger.js.map +1 -1
- package/cjs/domain/logsCollection/console/consoleCollection.js +5 -5
- package/cjs/domain/logsCollection/console/consoleCollection.js.map +1 -1
- package/cjs/domain/logsCollection/logger/loggerCollection.js +37 -20
- package/cjs/domain/logsCollection/logger/loggerCollection.js.map +1 -1
- package/cjs/domain/logsCollection/networkError/networkErrorCollection.js +11 -6
- package/cjs/domain/logsCollection/networkError/networkErrorCollection.js.map +1 -1
- package/cjs/domain/logsCollection/report/reportCollection.js +6 -15
- package/cjs/domain/logsCollection/report/reportCollection.js.map +1 -1
- package/cjs/domain/logsCollection/rumtimeError/runtimeErrorCollection.js +2 -5
- package/cjs/domain/logsCollection/rumtimeError/runtimeErrorCollection.js.map +1 -1
- package/cjs/domain/reportError.js +24 -0
- package/cjs/domain/reportError.js.map +1 -0
- package/cjs/transport/startLogsBatch.js +6 -2
- package/cjs/transport/startLogsBatch.js.map +1 -1
- package/esm/boot/buildEnv.js +1 -1
- package/esm/boot/logsPublicApi.js +36 -63
- package/esm/boot/logsPublicApi.js.map +1 -1
- package/esm/boot/preStartLogs.js +66 -0
- package/esm/boot/preStartLogs.js.map +1 -0
- package/esm/boot/startLogs.js +57 -38
- package/esm/boot/startLogs.js.map +1 -1
- package/esm/domain/assembly.js +6 -8
- package/esm/domain/assembly.js.map +1 -1
- package/esm/domain/contexts/commonContext.js +11 -0
- package/esm/domain/contexts/commonContext.js.map +1 -0
- package/esm/domain/contexts/internalContext.js.map +1 -0
- package/esm/domain/createErrorFieldFromRawError.js +14 -0
- package/esm/domain/createErrorFieldFromRawError.js.map +1 -0
- package/esm/domain/logger.js +62 -55
- package/esm/domain/logger.js.map +1 -1
- package/esm/domain/logsCollection/console/consoleCollection.js +5 -5
- package/esm/domain/logsCollection/console/consoleCollection.js.map +1 -1
- package/esm/domain/logsCollection/logger/loggerCollection.js +39 -22
- package/esm/domain/logsCollection/logger/loggerCollection.js.map +1 -1
- package/esm/domain/logsCollection/networkError/networkErrorCollection.js +12 -7
- package/esm/domain/logsCollection/networkError/networkErrorCollection.js.map +1 -1
- package/esm/domain/logsCollection/report/reportCollection.js +7 -16
- package/esm/domain/logsCollection/report/reportCollection.js.map +1 -1
- package/esm/domain/logsCollection/rumtimeError/runtimeErrorCollection.js +2 -5
- package/esm/domain/logsCollection/rumtimeError/runtimeErrorCollection.js.map +1 -1
- package/esm/domain/reportError.js +18 -0
- package/esm/domain/reportError.js.map +1 -0
- package/esm/transport/startLogsBatch.js +7 -3
- package/esm/transport/startLogsBatch.js.map +1 -1
- package/package.json +3 -3
- package/src/boot/logsPublicApi.js +52 -86
- package/src/boot/preStartLogs.js +94 -0
- package/src/boot/startLogs.js +83 -60
- package/src/domain/assembly.js +7 -12
- package/src/domain/contexts/commonContext.js +10 -0
- package/src/domain/createErrorFieldFromRawError.js +13 -0
- package/src/domain/logger.js +89 -63
- package/src/domain/logsCollection/console/consoleCollection.js +5 -9
- package/src/domain/logsCollection/logger/loggerCollection.js +46 -25
- package/src/domain/logsCollection/networkError/networkErrorCollection.js +11 -7
- package/src/domain/logsCollection/report/reportCollection.js +9 -16
- package/src/domain/logsCollection/rumtimeError/runtimeErrorCollection.js +2 -6
- package/src/domain/reportError.js +21 -0
- package/src/transport/startLogsBatch.js +6 -4
- package/types/configuration.d.ts +2 -2
- package/types/logger.d.ts +3 -22
- package/cjs/domain/internalContext.js.map +0 -1
- package/esm/domain/internalContext.js.map +0 -1
- /package/cjs/domain/{internalContext.js → contexts/internalContext.js} +0 -0
- /package/esm/domain/{internalContext.js → contexts/internalContext.js} +0 -0
- /package/src/domain/{internalContext.js → contexts/internalContext.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logsPublicApi.js","names":["BoundedBuffer","createContextManager","makePublicApi","CustomerDataType","display","deepClone","timeStampNow","checkUser","sanitizeUser","monitor","storeContextManager","validateAndBuildLogsConfiguration","Logger","LOGS_STORAGE_KEY","makeLogsPublicApi","startLogsImpl","isAlreadyInitialized","globalContextManager","GlobalContext","userContextManager","User","customLoggers","getInternalContextStrategy","undefined","beforeInitLoggerLog","handleLogStrategy","logsMessage","logger","savedCommonContext","date","buildCommonContext","add","getInitConfigurationStrategy","mainLogger","apply","arguments","view","referrer","document","url","window","location","href","context","getContext","user","init","initConfiguration","canInitLogs","configuration","storeContextsToLocal","_startLogsImpl","handleLog","getInternalContext","drain","getGlobalContext","setGlobalContext","setContext","setGlobalContextProperty","key","value","setContextProperty","removeGlobalContextProperty","removeContextProperty","clearGlobalContext","clearContext","createLogger","name","conf","handler","level","getLogger","getInitConfiguration","startTime","setUser","newUser","getUser","removeUserProperty","clearUser","silentMultipleInit","error"],"sources":["../../src/boot/logsPublicApi.js"],"sourcesContent":["import {\n BoundedBuffer,\n createContextManager,\n makePublicApi,\n CustomerDataType,\n display,\n deepClone,\n timeStampNow,\n checkUser,\n sanitizeUser,\n monitor,\n storeContextManager\n} from '@cloudcare/browser-core'\nimport { validateAndBuildLogsConfiguration } from '../domain/configuration'\nimport { Logger } from '../domain/logger'\nvar LOGS_STORAGE_KEY = 'logs'\nexport function makeLogsPublicApi(startLogsImpl) {\n var isAlreadyInitialized = false\n\n var globalContextManager = createContextManager(\n CustomerDataType.GlobalContext\n )\n var userContextManager = createContextManager(CustomerDataType.User)\n var customLoggers = {}\n var getInternalContextStrategy = function () {\n return undefined\n }\n\n var beforeInitLoggerLog = new BoundedBuffer()\n\n var handleLogStrategy = function (\n logsMessage,\n logger,\n savedCommonContext,\n date\n ) {\n if (typeof savedCommonContext === 'undefined') {\n savedCommonContext = deepClone(buildCommonContext())\n }\n if (typeof date === 'undefined') {\n date = timeStampNow()\n }\n beforeInitLoggerLog.add(function () {\n return handleLogStrategy(logsMessage, logger, savedCommonContext, date)\n })\n }\n\n var getInitConfigurationStrategy = function () {\n return undefined\n }\n\n var mainLogger = new Logger(function () {\n return handleLogStrategy.apply(this, arguments)\n })\n\n function buildCommonContext() {\n return {\n view: {\n referrer: document.referrer,\n url: window.location.href\n },\n context: globalContextManager.getContext(),\n user: userContextManager.getContext()\n }\n }\n\n return makePublicApi({\n logger: mainLogger,\n\n init: monitor(function (initConfiguration) {\n if (!canInitLogs(initConfiguration)) {\n return\n }\n\n var configuration = validateAndBuildLogsConfiguration(initConfiguration)\n if (!configuration) {\n return\n }\n if (initConfiguration.storeContextsToLocal) {\n storeContextManager(\n configuration,\n globalContextManager,\n LOGS_STORAGE_KEY,\n CustomerDataType.GlobalContext\n )\n storeContextManager(\n configuration,\n userContextManager,\n LOGS_STORAGE_KEY,\n CustomerDataType.User\n )\n }\n var _startLogsImpl = startLogsImpl(\n configuration,\n buildCommonContext,\n mainLogger\n )\n handleLogStrategy = _startLogsImpl.handleLog\n getInternalContextStrategy = _startLogsImpl.getInternalContext\n getInitConfigurationStrategy = function () {\n return deepClone(initConfiguration)\n }\n beforeInitLoggerLog.drain()\n\n isAlreadyInitialized = true\n }),\n\n getGlobalContext: monitor(function () {\n return globalContextManager.getContext()\n }),\n\n setGlobalContext: monitor(function (context) {\n return globalContextManager.setContext(context)\n }),\n\n setGlobalContextProperty: monitor(function (key, value) {\n return globalContextManager.setContextProperty(key, value)\n }),\n\n removeGlobalContextProperty: monitor(function (key) {\n return globalContextManager.removeContextProperty(key)\n }),\n\n clearGlobalContext: monitor(function () {\n return globalContextManager.clearContext()\n }),\n\n createLogger: monitor(function (name, conf) {\n if (typeof conf == 'undefined') {\n conf = {}\n }\n customLoggers[name] = new Logger(\n function () {\n return handleLogStrategy(this.arguments)\n },\n name,\n conf.handler,\n conf.level,\n conf.context\n )\n return customLoggers[name]\n }),\n\n getLogger: monitor(function (name) {\n return customLoggers[name]\n }),\n\n getInitConfiguration: monitor(function () {\n return getInitConfigurationStrategy()\n }),\n\n getInternalContext: monitor(function (startTime) {\n return getInternalContextStrategy(startTime)\n }),\n setUser: monitor(function (newUser) {\n if (checkUser(newUser)) {\n userContextManager.setContext(sanitizeUser(newUser))\n }\n }),\n getUser: monitor(function () {\n return userContextManager.getContext()\n }),\n removeUserProperty: monitor(function (key) {\n return userContextManager.removeContextProperty(key)\n }),\n clearUser: monitor(function () {\n return userContextManager.clearContext()\n })\n })\n\n function canInitLogs(initConfiguration) {\n if (isAlreadyInitialized) {\n if (!initConfiguration.silentMultipleInit) {\n display.error('DD_LOGS is already initialized.')\n }\n return false\n }\n\n return true\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"logsPublicApi.js","names":["createContextManager","makePublicApi","CustomerDataType","checkUser","sanitizeUser","monitor","storeContextManager","displayAlreadyInitializedError","assign","Logger","buildCommonContext","createPreStartStrategy","LOGS_STORAGE_KEY","makeLogsPublicApi","startLogsImpl","globalContextManager","GlobalContext","userContextManager","User","getCommonContext","strategy","initConfiguration","configuration","storeContextsToLocal","startLogsResult","createPostStartStrategy","customLoggers","mainLogger","handleLog","apply","arguments","logger","init","getGlobalContext","getContext","setGlobalContext","context","setContext","setGlobalContextProperty","key","value","setContextProperty","removeGlobalContextProperty","removeContextProperty","clearGlobalContext","clearContext","createLogger","name","conf","sanitize","handler","level","getLogger","getInitConfiguration","getInternalContext","startTime","setUser","newUser","getUser","removeUserProperty","setUserProperty","property","sanitizedProperty","clearUser"],"sources":["../../src/boot/logsPublicApi.js"],"sourcesContent":["import {\n createContextManager,\n makePublicApi,\n CustomerDataType,\n checkUser,\n sanitizeUser,\n monitor,\n storeContextManager,\n displayAlreadyInitializedError,\n assign\n} from '@cloudcare/browser-core'\nimport { Logger } from '../domain/logger'\nimport { buildCommonContext } from '../domain/contexts/commonContext'\nimport { createPreStartStrategy } from './preStartLogs'\nvar LOGS_STORAGE_KEY = 'logs'\nexport function makeLogsPublicApi(startLogsImpl) {\n var globalContextManager = createContextManager(\n CustomerDataType.GlobalContext\n )\n var userContextManager = createContextManager(CustomerDataType.User)\n\n function getCommonContext() {\n return buildCommonContext(globalContextManager, userContextManager)\n }\n var strategy = createPreStartStrategy(\n getCommonContext,\n function (initConfiguration, configuration) {\n if (initConfiguration.storeContextsToLocal) {\n storeContextManager(\n configuration,\n globalContextManager,\n LOGS_STORAGE_KEY,\n CustomerDataType.GlobalContext\n )\n storeContextManager(\n configuration,\n userContextManager,\n LOGS_STORAGE_KEY,\n CustomerDataType.User\n )\n }\n\n var startLogsResult = startLogsImpl(\n initConfiguration,\n configuration,\n getCommonContext\n )\n\n strategy = createPostStartStrategy(initConfiguration, startLogsResult)\n return startLogsResult\n }\n )\n var customLoggers = {}\n\n var mainLogger = new Logger(function () {\n return strategy.handleLog.apply(this, arguments)\n })\n\n return makePublicApi({\n logger: mainLogger,\n\n init: monitor(function (initConfiguration) {\n return strategy.init(initConfiguration)\n }),\n\n getGlobalContext: monitor(function () {\n return globalContextManager.getContext()\n }),\n\n setGlobalContext: monitor(function (context) {\n return globalContextManager.setContext(context)\n }),\n\n setGlobalContextProperty: monitor(function (key, value) {\n return globalContextManager.setContextProperty(key, value)\n }),\n\n removeGlobalContextProperty: monitor(function (key) {\n return globalContextManager.removeContextProperty(key)\n }),\n\n clearGlobalContext: monitor(function () {\n return globalContextManager.clearContext()\n }),\n\n createLogger: monitor(function (name, conf) {\n if (typeof conf == 'undefined') {\n conf = {}\n }\n customLoggers[name] = new Logger(\n function () {\n return strategy.handleLog.apply(this, arguments)\n },\n sanitize(name),\n conf.handler,\n conf.level,\n sanitize(conf.context)\n )\n return customLoggers[name]\n }),\n\n getLogger: monitor(function (name) {\n return customLoggers[name]\n }),\n\n getInitConfiguration: monitor(function () {\n return strategy.getInitConfiguration()\n }),\n\n getInternalContext: monitor(function (startTime) {\n return strategy.getInternalContext(startTime)\n }),\n setUser: monitor(function (newUser) {\n if (checkUser(newUser)) {\n userContextManager.setContext(sanitizeUser(newUser))\n }\n }),\n getUser: monitor(function () {\n return userContextManager.getContext()\n }),\n removeUserProperty: monitor(function (key) {\n return userContextManager.removeContextProperty(key)\n }),\n setUserProperty: monitor(function (key, property) {\n var newUser = {}\n newUser[key] = property\n var sanitizedProperty = sanitizeUser(newUser)[key]\n userContextManager.setContextProperty(key, sanitizedProperty)\n }),\n clearUser: monitor(function () {\n return userContextManager.clearContext()\n })\n })\n}\nfunction createPostStartStrategy(initConfiguration, startLogsResult) {\n return assign(\n {\n init: function (initConfiguration) {\n displayAlreadyInitializedError('DATAFLUX_LOGS', initConfiguration)\n },\n getInitConfiguration: function () {\n return initConfiguration\n }\n },\n startLogsResult\n )\n}\n"],"mappings":"AAAA,SACEA,oBAAoB,EACpBC,aAAa,EACbC,gBAAgB,EAChBC,SAAS,EACTC,YAAY,EACZC,OAAO,EACPC,mBAAmB,EACnBC,8BAA8B,EAC9BC,MAAM,QACD,yBAAyB;AAChC,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,sBAAsB,QAAQ,gBAAgB;AACvD,IAAIC,gBAAgB,GAAG,MAAM;AAC7B,OAAO,SAASC,iBAAiBA,CAACC,aAAa,EAAE;EAC/C,IAAIC,oBAAoB,GAAGf,oBAAoB,CAC7CE,gBAAgB,CAACc,aACnB,CAAC;EACD,IAAIC,kBAAkB,GAAGjB,oBAAoB,CAACE,gBAAgB,CAACgB,IAAI,CAAC;EAEpE,SAASC,gBAAgBA,CAAA,EAAG;IAC1B,OAAOT,kBAAkB,CAACK,oBAAoB,EAAEE,kBAAkB,CAAC;EACrE;EACA,IAAIG,QAAQ,GAAGT,sBAAsB,CACnCQ,gBAAgB,EAChB,UAAUE,iBAAiB,EAAEC,aAAa,EAAE;IAC1C,IAAID,iBAAiB,CAACE,oBAAoB,EAAE;MAC1CjB,mBAAmB,CACjBgB,aAAa,EACbP,oBAAoB,EACpBH,gBAAgB,EAChBV,gBAAgB,CAACc,aACnB,CAAC;MACDV,mBAAmB,CACjBgB,aAAa,EACbL,kBAAkB,EAClBL,gBAAgB,EAChBV,gBAAgB,CAACgB,IACnB,CAAC;IACH;IAEA,IAAIM,eAAe,GAAGV,aAAa,CACjCO,iBAAiB,EACjBC,aAAa,EACbH,gBACF,CAAC;IAEDC,QAAQ,GAAGK,uBAAuB,CAACJ,iBAAiB,EAAEG,eAAe,CAAC;IACtE,OAAOA,eAAe;EACxB,CACF,CAAC;EACD,IAAIE,aAAa,GAAG,CAAC,CAAC;EAEtB,IAAIC,UAAU,GAAG,IAAIlB,MAAM,CAAC,YAAY;IACtC,OAAOW,QAAQ,CAACQ,SAAS,CAACC,KAAK,CAAC,IAAI,EAAEC,SAAS,CAAC;EAClD,CAAC,CAAC;EAEF,OAAO7B,aAAa,CAAC;IACnB8B,MAAM,EAAEJ,UAAU;IAElBK,IAAI,EAAE3B,OAAO,CAAC,UAAUgB,iBAAiB,EAAE;MACzC,OAAOD,QAAQ,CAACY,IAAI,CAACX,iBAAiB,CAAC;IACzC,CAAC,CAAC;IAEFY,gBAAgB,EAAE5B,OAAO,CAAC,YAAY;MACpC,OAAOU,oBAAoB,CAACmB,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEFC,gBAAgB,EAAE9B,OAAO,CAAC,UAAU+B,OAAO,EAAE;MAC3C,OAAOrB,oBAAoB,CAACsB,UAAU,CAACD,OAAO,CAAC;IACjD,CAAC,CAAC;IAEFE,wBAAwB,EAAEjC,OAAO,CAAC,UAAUkC,GAAG,EAAEC,KAAK,EAAE;MACtD,OAAOzB,oBAAoB,CAAC0B,kBAAkB,CAACF,GAAG,EAAEC,KAAK,CAAC;IAC5D,CAAC,CAAC;IAEFE,2BAA2B,EAAErC,OAAO,CAAC,UAAUkC,GAAG,EAAE;MAClD,OAAOxB,oBAAoB,CAAC4B,qBAAqB,CAACJ,GAAG,CAAC;IACxD,CAAC,CAAC;IAEFK,kBAAkB,EAAEvC,OAAO,CAAC,YAAY;MACtC,OAAOU,oBAAoB,CAAC8B,YAAY,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEFC,YAAY,EAAEzC,OAAO,CAAC,UAAU0C,IAAI,EAAEC,IAAI,EAAE;MAC1C,IAAI,OAAOA,IAAI,IAAI,WAAW,EAAE;QAC9BA,IAAI,GAAG,CAAC,CAAC;MACX;MACAtB,aAAa,CAACqB,IAAI,CAAC,GAAG,IAAItC,MAAM,CAC9B,YAAY;QACV,OAAOW,QAAQ,CAACQ,SAAS,CAACC,KAAK,CAAC,IAAI,EAAEC,SAAS,CAAC;MAClD,CAAC,EACDmB,QAAQ,CAACF,IAAI,CAAC,EACdC,IAAI,CAACE,OAAO,EACZF,IAAI,CAACG,KAAK,EACVF,QAAQ,CAACD,IAAI,CAACZ,OAAO,CACvB,CAAC;MACD,OAAOV,aAAa,CAACqB,IAAI,CAAC;IAC5B,CAAC,CAAC;IAEFK,SAAS,EAAE/C,OAAO,CAAC,UAAU0C,IAAI,EAAE;MACjC,OAAOrB,aAAa,CAACqB,IAAI,CAAC;IAC5B,CAAC,CAAC;IAEFM,oBAAoB,EAAEhD,OAAO,CAAC,YAAY;MACxC,OAAOe,QAAQ,CAACiC,oBAAoB,CAAC,CAAC;IACxC,CAAC,CAAC;IAEFC,kBAAkB,EAAEjD,OAAO,CAAC,UAAUkD,SAAS,EAAE;MAC/C,OAAOnC,QAAQ,CAACkC,kBAAkB,CAACC,SAAS,CAAC;IAC/C,CAAC,CAAC;IACFC,OAAO,EAAEnD,OAAO,CAAC,UAAUoD,OAAO,EAAE;MAClC,IAAItD,SAAS,CAACsD,OAAO,CAAC,EAAE;QACtBxC,kBAAkB,CAACoB,UAAU,CAACjC,YAAY,CAACqD,OAAO,CAAC,CAAC;MACtD;IACF,CAAC,CAAC;IACFC,OAAO,EAAErD,OAAO,CAAC,YAAY;MAC3B,OAAOY,kBAAkB,CAACiB,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC;IACFyB,kBAAkB,EAAEtD,OAAO,CAAC,UAAUkC,GAAG,EAAE;MACzC,OAAOtB,kBAAkB,CAAC0B,qBAAqB,CAACJ,GAAG,CAAC;IACtD,CAAC,CAAC;IACFqB,eAAe,EAAEvD,OAAO,CAAC,UAAUkC,GAAG,EAAEsB,QAAQ,EAAE;MAChD,IAAIJ,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAAClB,GAAG,CAAC,GAAGsB,QAAQ;MACvB,IAAIC,iBAAiB,GAAG1D,YAAY,CAACqD,OAAO,CAAC,CAAClB,GAAG,CAAC;MAClDtB,kBAAkB,CAACwB,kBAAkB,CAACF,GAAG,EAAEuB,iBAAiB,CAAC;IAC/D,CAAC,CAAC;IACFC,SAAS,EAAE1D,OAAO,CAAC,YAAY;MAC7B,OAAOY,kBAAkB,CAAC4B,YAAY,CAAC,CAAC;IAC1C,CAAC;EACH,CAAC,CAAC;AACJ;AACA,SAASpB,uBAAuBA,CAACJ,iBAAiB,EAAEG,eAAe,EAAE;EACnE,OAAOhB,MAAM,CACX;IACEwB,IAAI,EAAE,SAAAA,KAAUX,iBAAiB,EAAE;MACjCd,8BAA8B,CAAC,eAAe,EAAEc,iBAAiB,CAAC;IACpE,CAAC;IACDgC,oBAAoB,EAAE,SAAAA,qBAAA,EAAY;MAChC,OAAOhC,iBAAiB;IAC1B;EACF,CAAC,EACDG,eACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { createBoundedBuffer, assign, canUseEventBridge, display, displayAlreadyInitializedError, initFetchObservable, noop, timeStampNow } from '@cloudcare/browser-core';
|
|
2
|
+
import { validateAndBuildLogsConfiguration } from '../domain/configuration';
|
|
3
|
+
export function createPreStartStrategy(getCommonContext, doStartLogs) {
|
|
4
|
+
var bufferApiCalls = createBoundedBuffer();
|
|
5
|
+
var cachedInitConfiguration;
|
|
6
|
+
var cachedConfiguration;
|
|
7
|
+
function tryStartLogs() {
|
|
8
|
+
if (!cachedConfiguration || !cachedInitConfiguration) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
var startLogsResult = doStartLogs(cachedInitConfiguration, cachedConfiguration);
|
|
12
|
+
bufferApiCalls.drain(startLogsResult);
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
init: function init(initConfiguration) {
|
|
16
|
+
if (!initConfiguration) {
|
|
17
|
+
display.error('Missing configuration');
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
// Set the experimental feature flags as early as possible, so we can use them in most places
|
|
21
|
+
|
|
22
|
+
if (canUseEventBridge()) {
|
|
23
|
+
initConfiguration = overrideInitConfigurationForBridge(initConfiguration);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Expose the initial configuration regardless of initialization success.
|
|
27
|
+
cachedInitConfiguration = initConfiguration;
|
|
28
|
+
if (cachedConfiguration) {
|
|
29
|
+
displayAlreadyInitializedError('DATAFLUX_LOGS', initConfiguration);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
var configuration = validateAndBuildLogsConfiguration(initConfiguration);
|
|
33
|
+
if (!configuration) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
cachedConfiguration = configuration;
|
|
37
|
+
// Instrumuent fetch to track network requests
|
|
38
|
+
// This is needed in case the consent is not granted and some cutsomer
|
|
39
|
+
// library (Apollo Client) is storing uninstrumented fetch to be used later
|
|
40
|
+
// The subscrption is needed so that the instrumentation process is completed
|
|
41
|
+
initFetchObservable().subscribe(noop);
|
|
42
|
+
tryStartLogs();
|
|
43
|
+
},
|
|
44
|
+
getInitConfiguration: function getInitConfiguration() {
|
|
45
|
+
return cachedInitConfiguration;
|
|
46
|
+
},
|
|
47
|
+
getInternalContext: noop,
|
|
48
|
+
handleLog: function handleLog(message, statusType, handlingStack, context, date) {
|
|
49
|
+
if (context === undefined) {
|
|
50
|
+
context = getCommonContext();
|
|
51
|
+
}
|
|
52
|
+
if (date === undefined) {
|
|
53
|
+
date = timeStampNow();
|
|
54
|
+
}
|
|
55
|
+
bufferApiCalls.add(function (startLogsResult) {
|
|
56
|
+
startLogsResult.handleLog(message, statusType, handlingStack, context, date);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function overrideInitConfigurationForBridge(initConfiguration) {
|
|
62
|
+
return assign({}, initConfiguration, {
|
|
63
|
+
clientToken: 'empty'
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=preStartLogs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preStartLogs.js","names":["createBoundedBuffer","assign","canUseEventBridge","display","displayAlreadyInitializedError","initFetchObservable","noop","timeStampNow","validateAndBuildLogsConfiguration","createPreStartStrategy","getCommonContext","doStartLogs","bufferApiCalls","cachedInitConfiguration","cachedConfiguration","tryStartLogs","startLogsResult","drain","init","initConfiguration","error","overrideInitConfigurationForBridge","configuration","subscribe","getInitConfiguration","getInternalContext","handleLog","message","statusType","handlingStack","context","date","undefined","add","clientToken"],"sources":["../../src/boot/preStartLogs.js"],"sourcesContent":["import {\n createBoundedBuffer,\n assign,\n canUseEventBridge,\n display,\n displayAlreadyInitializedError,\n initFetchObservable,\n noop,\n timeStampNow\n} from '@cloudcare/browser-core'\nimport { validateAndBuildLogsConfiguration } from '../domain/configuration'\n\nexport function createPreStartStrategy(getCommonContext, doStartLogs) {\n const bufferApiCalls = createBoundedBuffer()\n let cachedInitConfiguration\n let cachedConfiguration\n\n function tryStartLogs() {\n if (!cachedConfiguration || !cachedInitConfiguration) {\n return\n }\n\n var startLogsResult = doStartLogs(\n cachedInitConfiguration,\n cachedConfiguration\n )\n bufferApiCalls.drain(startLogsResult)\n }\n\n return {\n init: function (initConfiguration) {\n if (!initConfiguration) {\n display.error('Missing configuration')\n return\n }\n // Set the experimental feature flags as early as possible, so we can use them in most places\n\n if (canUseEventBridge()) {\n initConfiguration =\n overrideInitConfigurationForBridge(initConfiguration)\n }\n\n // Expose the initial configuration regardless of initialization success.\n cachedInitConfiguration = initConfiguration\n\n if (cachedConfiguration) {\n displayAlreadyInitializedError('DATAFLUX_LOGS', initConfiguration)\n return\n }\n\n const configuration = validateAndBuildLogsConfiguration(initConfiguration)\n if (!configuration) {\n return\n }\n\n cachedConfiguration = configuration\n // Instrumuent fetch to track network requests\n // This is needed in case the consent is not granted and some cutsomer\n // library (Apollo Client) is storing uninstrumented fetch to be used later\n // The subscrption is needed so that the instrumentation process is completed\n initFetchObservable().subscribe(noop)\n\n tryStartLogs()\n },\n\n getInitConfiguration: function () {\n return cachedInitConfiguration\n },\n\n getInternalContext: noop,\n\n handleLog: function (message, statusType, handlingStack, context, date) {\n if (context === undefined) {\n context = getCommonContext()\n }\n if (date === undefined) {\n date = timeStampNow()\n }\n bufferApiCalls.add(function (startLogsResult) {\n startLogsResult.handleLog(\n message,\n statusType,\n handlingStack,\n context,\n date\n )\n })\n }\n }\n}\n\nfunction overrideInitConfigurationForBridge(initConfiguration) {\n return assign({}, initConfiguration, { clientToken: 'empty' })\n}\n"],"mappings":"AAAA,SACEA,mBAAmB,EACnBC,MAAM,EACNC,iBAAiB,EACjBC,OAAO,EACPC,8BAA8B,EAC9BC,mBAAmB,EACnBC,IAAI,EACJC,YAAY,QACP,yBAAyB;AAChC,SAASC,iCAAiC,QAAQ,yBAAyB;AAE3E,OAAO,SAASC,sBAAsBA,CAACC,gBAAgB,EAAEC,WAAW,EAAE;EACpE,IAAMC,cAAc,GAAGZ,mBAAmB,CAAC,CAAC;EAC5C,IAAIa,uBAAuB;EAC3B,IAAIC,mBAAmB;EAEvB,SAASC,YAAYA,CAAA,EAAG;IACtB,IAAI,CAACD,mBAAmB,IAAI,CAACD,uBAAuB,EAAE;MACpD;IACF;IAEA,IAAIG,eAAe,GAAGL,WAAW,CAC/BE,uBAAuB,EACvBC,mBACF,CAAC;IACDF,cAAc,CAACK,KAAK,CAACD,eAAe,CAAC;EACvC;EAEA,OAAO;IACLE,IAAI,EAAE,SAAAA,KAAUC,iBAAiB,EAAE;MACjC,IAAI,CAACA,iBAAiB,EAAE;QACtBhB,OAAO,CAACiB,KAAK,CAAC,uBAAuB,CAAC;QACtC;MACF;MACA;;MAEA,IAAIlB,iBAAiB,CAAC,CAAC,EAAE;QACvBiB,iBAAiB,GACfE,kCAAkC,CAACF,iBAAiB,CAAC;MACzD;;MAEA;MACAN,uBAAuB,GAAGM,iBAAiB;MAE3C,IAAIL,mBAAmB,EAAE;QACvBV,8BAA8B,CAAC,eAAe,EAAEe,iBAAiB,CAAC;QAClE;MACF;MAEA,IAAMG,aAAa,GAAGd,iCAAiC,CAACW,iBAAiB,CAAC;MAC1E,IAAI,CAACG,aAAa,EAAE;QAClB;MACF;MAEAR,mBAAmB,GAAGQ,aAAa;MACnC;MACA;MACA;MACA;MACAjB,mBAAmB,CAAC,CAAC,CAACkB,SAAS,CAACjB,IAAI,CAAC;MAErCS,YAAY,CAAC,CAAC;IAChB,CAAC;IAEDS,oBAAoB,EAAE,SAAAA,qBAAA,EAAY;MAChC,OAAOX,uBAAuB;IAChC,CAAC;IAEDY,kBAAkB,EAAEnB,IAAI;IAExBoB,SAAS,EAAE,SAAAA,UAAUC,OAAO,EAAEC,UAAU,EAAEC,aAAa,EAAEC,OAAO,EAAEC,IAAI,EAAE;MACtE,IAAID,OAAO,KAAKE,SAAS,EAAE;QACzBF,OAAO,GAAGpB,gBAAgB,CAAC,CAAC;MAC9B;MACA,IAAIqB,IAAI,KAAKC,SAAS,EAAE;QACtBD,IAAI,GAAGxB,YAAY,CAAC,CAAC;MACvB;MACAK,cAAc,CAACqB,GAAG,CAAC,UAAUjB,eAAe,EAAE;QAC5CA,eAAe,CAACU,SAAS,CACvBC,OAAO,EACPC,UAAU,EACVC,aAAa,EACbC,OAAO,EACPC,IACF,CAAC;MACH,CAAC,CAAC;IACJ;EACF,CAAC;AACH;AAEA,SAASV,kCAAkCA,CAACF,iBAAiB,EAAE;EAC7D,OAAOlB,MAAM,CAAC,CAAC,CAAC,EAAEkB,iBAAiB,EAAE;IAAEe,WAAW,EAAE;EAAQ,CAAC,CAAC;AAChE","ignoreList":[]}
|
package/esm/boot/startLogs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LifeCycle, createPageExitObservable, areCookiesAuthorized, willSyntheticsInjectRum, startTelemetry, startBatchWithReplica, canUseEventBridge, TelemetryService, drainPreStartTelemetry, createIdentityEncoder, addTelemetryConfiguration, deepClone } from '@cloudcare/browser-core';
|
|
2
2
|
import { startLogsSessionManager, startLogsSessionManagerStub } from '../domain/logsSessionManager';
|
|
3
3
|
import { startLogsAssembly, getRUMInternalContext } from '../domain/assembly';
|
|
4
4
|
import { startConsoleCollection } from '../domain/logsCollection/console/consoleCollection';
|
|
@@ -7,26 +7,43 @@ import { startNetworkErrorCollection } from '../domain/logsCollection/networkErr
|
|
|
7
7
|
import { startRuntimeErrorCollection } from '../domain/logsCollection/rumtimeError/runtimeErrorCollection';
|
|
8
8
|
import { startLoggerCollection } from '../domain/logsCollection/logger/loggerCollection';
|
|
9
9
|
import { startLogsBatch } from '../transport/startLogsBatch';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
export function startLogs(
|
|
10
|
+
import { startInternalContext } from '../domain/contexts/internalContext';
|
|
11
|
+
import { startReportError } from '../domain/reportError';
|
|
12
|
+
export function startLogs(initConfiguration, configuration, getCommonContext) {
|
|
13
13
|
var lifeCycle = new LifeCycle();
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
var cleanupTasks = [];
|
|
15
|
+
var reportError = startReportError(lifeCycle);
|
|
16
|
+
var pageExitObservable = createPageExitObservable();
|
|
17
|
+
var session = areCookiesAuthorized(configuration.cookieOptions) && !canUseEventBridge() && !willSyntheticsInjectRum() ? startLogsSessionManager(configuration) : startLogsSessionManagerStub(configuration);
|
|
18
|
+
var telemetry = startLogsTelemetry(initConfiguration, configuration, reportError, pageExitObservable, session);
|
|
19
|
+
cleanupTasks.push(function () {
|
|
20
|
+
telemetry.stop();
|
|
21
|
+
});
|
|
22
|
+
startNetworkErrorCollection(configuration, lifeCycle);
|
|
23
|
+
startRuntimeErrorCollection(configuration, lifeCycle);
|
|
24
|
+
startConsoleCollection(configuration, lifeCycle);
|
|
25
|
+
startReportCollection(configuration, lifeCycle);
|
|
26
|
+
var _startLoggerCollection = startLoggerCollection(lifeCycle);
|
|
27
|
+
startLogsAssembly(session, configuration, lifeCycle, getCommonContext, reportError);
|
|
28
|
+
if (!canUseEventBridge()) {
|
|
29
|
+
var _startLogsBatch = startLogsBatch(configuration, lifeCycle, reportError, pageExitObservable, session);
|
|
30
|
+
cleanupTasks.push(function () {
|
|
31
|
+
_startLogsBatch.stop();
|
|
25
32
|
});
|
|
33
|
+
}
|
|
34
|
+
var internalContext = startInternalContext(session);
|
|
35
|
+
return {
|
|
36
|
+
handleLog: _startLoggerCollection.handleLog,
|
|
37
|
+
getInternalContext: internalContext.get,
|
|
38
|
+
stop: function stop() {
|
|
39
|
+
cleanupTasks.forEach(function (task) {
|
|
40
|
+
task();
|
|
41
|
+
});
|
|
42
|
+
}
|
|
26
43
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var telemetry =
|
|
44
|
+
}
|
|
45
|
+
function startLogsTelemetry(initConfiguration, configuration, reportError, pageExitObservable, session) {
|
|
46
|
+
var telemetry = startTelemetry(TelemetryService.LOGS, configuration);
|
|
30
47
|
telemetry.setContextProvider(function () {
|
|
31
48
|
var RUMInternalContext = getRUMInternalContext();
|
|
32
49
|
return {
|
|
@@ -44,29 +61,31 @@ export function startLogs(configuration, buildCommonContext, mainLogger) {
|
|
|
44
61
|
}
|
|
45
62
|
};
|
|
46
63
|
});
|
|
47
|
-
|
|
48
|
-
startRuntimeErrorCollection(configuration, lifeCycle);
|
|
49
|
-
startConsoleCollection(configuration, lifeCycle);
|
|
50
|
-
startReportCollection(configuration, lifeCycle);
|
|
51
|
-
var _startLoggerCollection = startLoggerCollection(lifeCycle);
|
|
52
|
-
startLogsAssembly(session, configuration, lifeCycle, buildCommonContext, mainLogger, reportError);
|
|
53
|
-
if (!canUseEventBridge()) {
|
|
54
|
-
startLogsBatch(configuration, lifeCycle, reportError, pageExitObservable, session.expireObservable);
|
|
55
|
-
}
|
|
56
|
-
var internalContext = startInternalContext(session);
|
|
57
|
-
return {
|
|
58
|
-
handleLog: _startLoggerCollection.handleLog,
|
|
59
|
-
getInternalContext: internalContext.get
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
function startLogsTelemetry(configuration, reportError, pageExitObservable, sessionExpireObservable) {
|
|
63
|
-
var telemetry = startTelemetry(TelemetryService.LOGS, configuration);
|
|
64
|
+
var cleanupTasks = [];
|
|
64
65
|
if (!canUseEventBridge()) {
|
|
65
|
-
var telemetryBatch = startBatchWithReplica(configuration,
|
|
66
|
-
|
|
66
|
+
var telemetryBatch = startBatchWithReplica(configuration, {
|
|
67
|
+
endpoint: configuration.rumEndpoint,
|
|
68
|
+
encoder: createIdentityEncoder()
|
|
69
|
+
}, reportError, pageExitObservable, session.expireObservable);
|
|
70
|
+
cleanupTasks.push(function () {
|
|
71
|
+
telemetryBatch.stop();
|
|
72
|
+
});
|
|
73
|
+
var telemetrySubscription = telemetry.observable.subscribe(function (event) {
|
|
67
74
|
telemetryBatch.add(event);
|
|
68
75
|
});
|
|
76
|
+
cleanupTasks.push(function () {
|
|
77
|
+
telemetrySubscription.unsubscribe();
|
|
78
|
+
});
|
|
69
79
|
}
|
|
70
|
-
|
|
80
|
+
drainPreStartTelemetry();
|
|
81
|
+
addTelemetryConfiguration(deepClone(initConfiguration));
|
|
82
|
+
return {
|
|
83
|
+
telemetry: telemetry,
|
|
84
|
+
stop: function stop() {
|
|
85
|
+
cleanupTasks.forEach(function (task) {
|
|
86
|
+
task();
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
};
|
|
71
90
|
}
|
|
72
91
|
//# sourceMappingURL=startLogs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startLogs.js","names":["
|
|
1
|
+
{"version":3,"file":"startLogs.js","names":["LifeCycle","createPageExitObservable","areCookiesAuthorized","willSyntheticsInjectRum","startTelemetry","startBatchWithReplica","canUseEventBridge","TelemetryService","drainPreStartTelemetry","createIdentityEncoder","addTelemetryConfiguration","deepClone","startLogsSessionManager","startLogsSessionManagerStub","startLogsAssembly","getRUMInternalContext","startConsoleCollection","startReportCollection","startNetworkErrorCollection","startRuntimeErrorCollection","startLoggerCollection","startLogsBatch","startInternalContext","startReportError","startLogs","initConfiguration","configuration","getCommonContext","lifeCycle","cleanupTasks","reportError","pageExitObservable","session","cookieOptions","telemetry","startLogsTelemetry","push","stop","_startLoggerCollection","_startLogsBatch","internalContext","handleLog","getInternalContext","get","forEach","task","LOGS","setContextProvider","RUMInternalContext","application","id","findTrackedSession","view","action","userAction","telemetryBatch","endpoint","rumEndpoint","encoder","expireObservable","telemetrySubscription","observable","subscribe","event","add","unsubscribe"],"sources":["../../src/boot/startLogs.js"],"sourcesContent":["import {\n LifeCycle,\n createPageExitObservable,\n areCookiesAuthorized,\n willSyntheticsInjectRum,\n startTelemetry,\n startBatchWithReplica,\n canUseEventBridge,\n TelemetryService,\n drainPreStartTelemetry,\n createIdentityEncoder,\n addTelemetryConfiguration,\n deepClone\n} from '@cloudcare/browser-core'\nimport {\n startLogsSessionManager,\n startLogsSessionManagerStub\n} from '../domain/logsSessionManager'\nimport { startLogsAssembly, getRUMInternalContext } from '../domain/assembly'\nimport { startConsoleCollection } from '../domain/logsCollection/console/consoleCollection'\nimport { startReportCollection } from '../domain/logsCollection/report/reportCollection'\nimport { startNetworkErrorCollection } from '../domain/logsCollection/networkError/networkErrorCollection'\nimport { startRuntimeErrorCollection } from '../domain/logsCollection/rumtimeError/runtimeErrorCollection'\nimport { startLoggerCollection } from '../domain/logsCollection/logger/loggerCollection'\nimport { startLogsBatch } from '../transport/startLogsBatch'\nimport { startInternalContext } from '../domain/contexts/internalContext'\nimport { startReportError } from '../domain/reportError'\nexport function startLogs(initConfiguration, configuration, getCommonContext) {\n var lifeCycle = new LifeCycle()\n var cleanupTasks = []\n var reportError = startReportError(lifeCycle)\n var pageExitObservable = createPageExitObservable()\n var session =\n areCookiesAuthorized(configuration.cookieOptions) &&\n !canUseEventBridge() &&\n !willSyntheticsInjectRum()\n ? startLogsSessionManager(configuration)\n : startLogsSessionManagerStub(configuration)\n const telemetry = startLogsTelemetry(\n initConfiguration,\n configuration,\n reportError,\n pageExitObservable,\n session\n )\n cleanupTasks.push(function () {\n telemetry.stop()\n })\n startNetworkErrorCollection(configuration, lifeCycle)\n startRuntimeErrorCollection(configuration, lifeCycle)\n startConsoleCollection(configuration, lifeCycle)\n startReportCollection(configuration, lifeCycle)\n var _startLoggerCollection = startLoggerCollection(lifeCycle)\n\n startLogsAssembly(\n session,\n configuration,\n lifeCycle,\n getCommonContext,\n reportError\n )\n if (!canUseEventBridge()) {\n var _startLogsBatch = startLogsBatch(\n configuration,\n lifeCycle,\n reportError,\n pageExitObservable,\n session\n )\n cleanupTasks.push(function () {\n _startLogsBatch.stop()\n })\n }\n\n var internalContext = startInternalContext(session)\n\n return {\n handleLog: _startLoggerCollection.handleLog,\n getInternalContext: internalContext.get,\n stop: function () {\n cleanupTasks.forEach(function (task) {\n task()\n })\n }\n }\n}\nfunction startLogsTelemetry(\n initConfiguration,\n configuration,\n reportError,\n pageExitObservable,\n session\n) {\n const telemetry = startTelemetry(TelemetryService.LOGS, configuration)\n telemetry.setContextProvider(function () {\n var RUMInternalContext = getRUMInternalContext()\n return {\n application: {\n id:\n RUMInternalContext &&\n RUMInternalContext.application &&\n RUMInternalContext.application.id\n },\n session: {\n id: session.findTrackedSession() && session.findTrackedSession().id\n },\n view: {\n id:\n RUMInternalContext &&\n RUMInternalContext.view &&\n RUMInternalContext.view.id\n },\n action: {\n id:\n RUMInternalContext &&\n RUMInternalContext.userAction &&\n RUMInternalContext.userAction.id\n }\n }\n })\n var cleanupTasks = []\n if (!canUseEventBridge()) {\n var telemetryBatch = startBatchWithReplica(\n configuration,\n { endpoint: configuration.rumEndpoint, encoder: createIdentityEncoder() },\n reportError,\n pageExitObservable,\n session.expireObservable\n )\n cleanupTasks.push(function () {\n telemetryBatch.stop()\n })\n var telemetrySubscription = telemetry.observable.subscribe(function (\n event\n ) {\n telemetryBatch.add(event)\n })\n cleanupTasks.push(function () {\n telemetrySubscription.unsubscribe()\n })\n }\n drainPreStartTelemetry()\n addTelemetryConfiguration(deepClone(initConfiguration))\n return {\n telemetry: telemetry,\n stop: function () {\n cleanupTasks.forEach(function (task) {\n task()\n })\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/esm/domain/assembly.js
CHANGED
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
import { ErrorSource, extend2Lev, createEventRateLimiter, getRelativeTime, withSnakeCaseKeys, LifeCycleEventType, deviceInfo, each, RumEventType, isEmptyObject, isNullUndefinedDefaultValue } from '@cloudcare/browser-core';
|
|
2
|
-
import { STATUSES
|
|
3
|
-
|
|
4
|
-
export function startLogsAssembly(sessionManager, configuration, lifeCycle, buildCommonContext, mainLogger, reportError) {
|
|
2
|
+
import { STATUSES } from './logger';
|
|
3
|
+
export function startLogsAssembly(sessionManager, configuration, lifeCycle, getCommonContext, reportError) {
|
|
5
4
|
var statusWithCustom = STATUSES.concat(['custom']);
|
|
6
5
|
var logRateLimiters = {};
|
|
7
6
|
each(statusWithCustom, function (status) {
|
|
8
7
|
logRateLimiters[status] = createEventRateLimiter(status, configuration.eventRateLimiterThreshold, reportError);
|
|
9
8
|
});
|
|
10
9
|
lifeCycle.subscribe(LifeCycleEventType.RAW_LOG_COLLECTED, function (data) {
|
|
11
|
-
// { rawLogsEvent, messageContext = undefined, savedCommonContext = undefined, logger = mainLogger }
|
|
12
10
|
var rawLogsEvent = data.rawLogsEvent;
|
|
13
11
|
var messageContext = data.messageContext || undefined;
|
|
14
12
|
var savedCommonContext = data.savedCommonContext || undefined;
|
|
15
|
-
var
|
|
13
|
+
var domainContext = data.domainContext;
|
|
16
14
|
var startTime = getRelativeTime(rawLogsEvent.date);
|
|
17
15
|
var session = sessionManager.findTrackedSession(startTime);
|
|
18
16
|
if (!session) {
|
|
19
17
|
return;
|
|
20
18
|
}
|
|
21
|
-
var commonContext = savedCommonContext ||
|
|
19
|
+
var commonContext = savedCommonContext || getCommonContext();
|
|
22
20
|
var log = extend2Lev({
|
|
23
21
|
service: configuration.service || 'browser',
|
|
24
22
|
env: configuration.env || '',
|
|
@@ -34,8 +32,8 @@ export function startLogsAssembly(sessionManager, configuration, lifeCycle, buil
|
|
|
34
32
|
user: !isEmptyObject(commonContext.user) ? commonContext.user : undefined,
|
|
35
33
|
device: deviceInfo,
|
|
36
34
|
type: RumEventType.LOGGER
|
|
37
|
-
}, commonContext.context, getRUMInternalContext(startTime), rawLogsEvent,
|
|
38
|
-
if (
|
|
35
|
+
}, commonContext.context, getRUMInternalContext(startTime), rawLogsEvent, messageContext);
|
|
36
|
+
if (configuration.beforeSend && configuration.beforeSend(log, domainContext) === false || log.origin !== ErrorSource.AGENT && isNullUndefinedDefaultValue(logRateLimiters[log.status], logRateLimiters['custom']).isLimitReached()) {
|
|
39
37
|
return;
|
|
40
38
|
}
|
|
41
39
|
lifeCycle.notify(LifeCycleEventType.LOG_COLLECTED, withSnakeCaseKeys(log));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assembly.js","names":["ErrorSource","extend2Lev","createEventRateLimiter","getRelativeTime","withSnakeCaseKeys","LifeCycleEventType","deviceInfo","each","RumEventType","isEmptyObject","isNullUndefinedDefaultValue","STATUSES","
|
|
1
|
+
{"version":3,"file":"assembly.js","names":["ErrorSource","extend2Lev","createEventRateLimiter","getRelativeTime","withSnakeCaseKeys","LifeCycleEventType","deviceInfo","each","RumEventType","isEmptyObject","isNullUndefinedDefaultValue","STATUSES","startLogsAssembly","sessionManager","configuration","lifeCycle","getCommonContext","reportError","statusWithCustom","concat","logRateLimiters","status","eventRateLimiterThreshold","subscribe","RAW_LOG_COLLECTED","data","rawLogsEvent","messageContext","undefined","savedCommonContext","domainContext","startTime","date","session","findTrackedSession","commonContext","log","service","env","version","_gc","sdkName","sdkVersion","id","view","user","device","type","LOGGER","context","getRUMInternalContext","beforeSend","origin","AGENT","isLimitReached","notify","LOG_COLLECTED","getInternalContextFromRumGlobal","window","DATAFLUX_RUM","rumGlobal","getInternalContext"],"sources":["../../src/domain/assembly.js"],"sourcesContent":["import {\n ErrorSource,\n extend2Lev,\n createEventRateLimiter,\n getRelativeTime,\n withSnakeCaseKeys,\n LifeCycleEventType,\n deviceInfo,\n each,\n RumEventType,\n isEmptyObject,\n isNullUndefinedDefaultValue\n} from '@cloudcare/browser-core'\n\nimport { STATUSES } from './logger'\n\nexport function startLogsAssembly(\n sessionManager,\n configuration,\n lifeCycle,\n getCommonContext,\n reportError\n) {\n var statusWithCustom = STATUSES.concat(['custom'])\n var logRateLimiters = {}\n each(statusWithCustom, function (status) {\n logRateLimiters[status] = createEventRateLimiter(\n status,\n configuration.eventRateLimiterThreshold,\n reportError\n )\n })\n lifeCycle.subscribe(LifeCycleEventType.RAW_LOG_COLLECTED, function (data) {\n var rawLogsEvent = data.rawLogsEvent\n var messageContext = data.messageContext || undefined\n var savedCommonContext = data.savedCommonContext || undefined\n var domainContext = data.domainContext\n var startTime = getRelativeTime(rawLogsEvent.date)\n var session = sessionManager.findTrackedSession(startTime)\n\n if (!session) {\n return\n }\n var commonContext = savedCommonContext || getCommonContext()\n var log = extend2Lev(\n {\n service: configuration.service || 'browser',\n env: configuration.env || '',\n version: configuration.version || '',\n _gc: {\n sdkName: configuration.sdkName,\n sdkVersion: configuration.sdkVersion\n },\n session: {\n id: session.id\n },\n view: commonContext.view,\n user: !isEmptyObject(commonContext.user)\n ? commonContext.user\n : undefined,\n device: deviceInfo,\n type: RumEventType.LOGGER\n },\n commonContext.context,\n getRUMInternalContext(startTime),\n rawLogsEvent,\n messageContext\n )\n\n if (\n (configuration.beforeSend &&\n configuration.beforeSend(log, domainContext) === false) ||\n (log.origin !== ErrorSource.AGENT &&\n isNullUndefinedDefaultValue(\n logRateLimiters[log.status],\n logRateLimiters['custom']\n ).isLimitReached())\n ) {\n return\n }\n\n lifeCycle.notify(LifeCycleEventType.LOG_COLLECTED, withSnakeCaseKeys(log))\n })\n}\n\nexport function getRUMInternalContext(startTime) {\n return getInternalContextFromRumGlobal(window.DATAFLUX_RUM)\n\n function getInternalContextFromRumGlobal(rumGlobal) {\n if (rumGlobal && rumGlobal.getInternalContext) {\n return rumGlobal.getInternalContext(startTime)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function buildCommonContext(globalContextManager, userContextManager) {
|
|
2
|
+
return {
|
|
3
|
+
view: {
|
|
4
|
+
referrer: document.referrer,
|
|
5
|
+
url: window.location.href
|
|
6
|
+
},
|
|
7
|
+
context: globalContextManager.getContext(),
|
|
8
|
+
user: userContextManager.getContext()
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=commonContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commonContext.js","names":["buildCommonContext","globalContextManager","userContextManager","view","referrer","document","url","window","location","href","context","getContext","user"],"sources":["../../../src/domain/contexts/commonContext.js"],"sourcesContent":["export function buildCommonContext(globalContextManager, userContextManager) {\n return {\n view: {\n referrer: document.referrer,\n url: window.location.href\n },\n context: globalContextManager.getContext(),\n user: userContextManager.getContext()\n }\n}\n"],"mappings":"AAAA,OAAO,SAASA,kBAAkBA,CAACC,oBAAoB,EAAEC,kBAAkB,EAAE;EAC3E,OAAO;IACLC,IAAI,EAAE;MACJC,QAAQ,EAAEC,QAAQ,CAACD,QAAQ;MAC3BE,GAAG,EAAEC,MAAM,CAACC,QAAQ,CAACC;IACvB,CAAC;IACDC,OAAO,EAAET,oBAAoB,CAACU,UAAU,CAAC,CAAC;IAC1CC,IAAI,EAAEV,kBAAkB,CAACS,UAAU,CAAC;EACtC,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internalContext.js","names":["startInternalContext","sessionManager","get","startTime","trackedSession","findTrackedSession","session","id"],"sources":["../../../src/domain/contexts/internalContext.js"],"sourcesContent":["\nexport function startInternalContext(sessionManager) {\n return {\n get: function(startTime) {\n var trackedSession = sessionManager.findTrackedSession(startTime)\n if (trackedSession) {\n return {\n session: {\n id: trackedSession.id\n },\n }\n }\n },\n }\n}\n"],"mappings":"AACA,OAAO,SAASA,oBAAoBA,CAACC,cAAc,EAAE;EACnD,OAAO;IACLC,GAAG,EAAE,SAAAA,IAASC,SAAS,EAAE;MACvB,IAAIC,cAAc,GAAGH,cAAc,CAACI,kBAAkB,CAACF,SAAS,CAAC;MACjE,IAAIC,cAAc,EAAE;QAClB,OAAO;UACLE,OAAO,EAAE;YACPC,EAAE,EAAEH,cAAc,CAACG;UACrB;QACF,CAAC;MACH;IACF;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function createErrorFieldFromRawError(rawError, options) {
|
|
2
|
+
if (options === undefined) {
|
|
3
|
+
options = {};
|
|
4
|
+
}
|
|
5
|
+
var includeMessage = options.includeMessage || false;
|
|
6
|
+
return {
|
|
7
|
+
stack: rawError.stack,
|
|
8
|
+
kind: rawError.type,
|
|
9
|
+
message: includeMessage ? rawError.message : undefined,
|
|
10
|
+
causes: rawError.causes,
|
|
11
|
+
handling: rawError.handling
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=createErrorFieldFromRawError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createErrorFieldFromRawError.js","names":["createErrorFieldFromRawError","rawError","options","undefined","includeMessage","stack","kind","type","message","causes","handling"],"sources":["../../src/domain/createErrorFieldFromRawError.js"],"sourcesContent":["export function createErrorFieldFromRawError(rawError, options) {\n if (options === undefined) {\n options = {}\n }\n var includeMessage = options.includeMessage || false\n return {\n stack: rawError.stack,\n kind: rawError.type,\n message: includeMessage ? rawError.message : undefined,\n causes: rawError.causes,\n handling: rawError.handling\n }\n}\n"],"mappings":"AAAA,OAAO,SAASA,4BAA4BA,CAACC,QAAQ,EAAEC,OAAO,EAAE;EAC9D,IAAIA,OAAO,KAAKC,SAAS,EAAE;IACzBD,OAAO,GAAG,CAAC,CAAC;EACd;EACA,IAAIE,cAAc,GAAGF,OAAO,CAACE,cAAc,IAAI,KAAK;EACpD,OAAO;IACLC,KAAK,EAAEJ,QAAQ,CAACI,KAAK;IACrBC,IAAI,EAAEL,QAAQ,CAACM,IAAI;IACnBC,OAAO,EAAEJ,cAAc,GAAGH,QAAQ,CAACO,OAAO,GAAGL,SAAS;IACtDM,MAAM,EAAER,QAAQ,CAACQ,MAAM;IACvBC,QAAQ,EAAET,QAAQ,CAACS;EACrB,CAAC;AACH","ignoreList":[]}
|
package/esm/domain/logger.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { extend2Lev, createContextManager, ErrorSource, keys, CustomerDataType, sanitize, computeStackTrace, computeRawError, clocksNow, ErrorHandling, monitor, NonErrorPrefix, createHandlingStack } from '@cloudcare/browser-core';
|
|
2
|
+
import { isAuthorized } from './logsCollection/logger/loggerCollection';
|
|
3
|
+
import { createErrorFieldFromRawError } from './createErrorFieldFromRawError';
|
|
2
4
|
export var StatusType = {
|
|
5
|
+
ok: 'ok',
|
|
3
6
|
debug: 'debug',
|
|
4
|
-
error: 'error',
|
|
5
7
|
info: 'info',
|
|
8
|
+
notice: 'notice',
|
|
6
9
|
warn: 'warn',
|
|
7
|
-
|
|
10
|
+
error: 'error',
|
|
11
|
+
critical: 'critical',
|
|
12
|
+
alert: 'alert',
|
|
13
|
+
emerg: 'emerg'
|
|
8
14
|
};
|
|
9
15
|
export var HandlerType = {
|
|
10
16
|
console: 'console',
|
|
@@ -14,7 +20,6 @@ export var HandlerType = {
|
|
|
14
20
|
export var STATUSES = keys(StatusType);
|
|
15
21
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
16
22
|
export function Logger(handleLogStrategy, name, handlerType, level, loggerContext) {
|
|
17
|
-
this.contextManager = createContextManager(CustomerDataType.LoggerContext);
|
|
18
23
|
if (typeof handlerType === 'undefined') {
|
|
19
24
|
handlerType = HandlerType.http;
|
|
20
25
|
}
|
|
@@ -24,84 +29,68 @@ export function Logger(handleLogStrategy, name, handlerType, level, loggerContex
|
|
|
24
29
|
if (typeof loggerContext === 'undefined') {
|
|
25
30
|
loggerContext = {};
|
|
26
31
|
}
|
|
32
|
+
this.contextManager = createContextManager(CustomerDataType.LoggerContext);
|
|
27
33
|
this.handleLogStrategy = handleLogStrategy;
|
|
28
34
|
this.handlerType = handlerType;
|
|
29
35
|
this.level = level;
|
|
30
|
-
this.contextManager.
|
|
31
|
-
|
|
36
|
+
this.contextManager.setContext(loggerContext);
|
|
37
|
+
if (name) {
|
|
38
|
+
this.contextManager.setContextProperty('logger', {
|
|
32
39
|
name: name
|
|
33
|
-
}
|
|
34
|
-
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
35
42
|
}
|
|
36
43
|
Logger.prototype = {
|
|
37
|
-
|
|
38
|
-
if (
|
|
44
|
+
logImplementation: monitor(function (message, messageContext, status, error, handlingStack) {
|
|
45
|
+
if (status === undefined) {
|
|
39
46
|
status = StatusType.info;
|
|
40
47
|
}
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
// Always add origin if status is error (backward compatibility - Remove in next major)
|
|
44
|
-
errorContext = {
|
|
45
|
-
origin: ErrorSource.LOGGER
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
+
var sanitizedMessageContext = sanitize(messageContext);
|
|
49
|
+
var context;
|
|
48
50
|
if (error !== undefined && error !== null) {
|
|
49
|
-
var stackTrace = error instanceof Error ? computeStackTrace(error) : undefined;
|
|
50
51
|
var rawError = computeRawError({
|
|
51
|
-
stackTrace:
|
|
52
|
+
stackTrace: error instanceof Error ? computeStackTrace(error) : undefined,
|
|
52
53
|
originalError: error,
|
|
53
54
|
nonErrorPrefix: NonErrorPrefix.PROVIDED,
|
|
54
55
|
source: ErrorSource.LOGGER,
|
|
55
56
|
handling: ErrorHandling.HANDLED,
|
|
56
57
|
startClocks: clocksNow()
|
|
57
58
|
});
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
};
|
|
59
|
+
context = extend2Lev({
|
|
60
|
+
error: createErrorFieldFromRawError(rawError, {
|
|
61
|
+
includeMessage: true
|
|
62
|
+
})
|
|
63
|
+
}, sanitizedMessageContext);
|
|
64
|
+
} else {
|
|
65
|
+
context = sanitizedMessageContext;
|
|
66
66
|
}
|
|
67
|
-
var sanitizedMessageContext = sanitize(messageContext);
|
|
68
|
-
var context = errorContext ? extend2Lev({
|
|
69
|
-
error: errorContext
|
|
70
|
-
}, sanitizedMessageContext) : sanitizedMessageContext;
|
|
71
67
|
this.handleLogStrategy({
|
|
72
|
-
message: message,
|
|
68
|
+
message: sanitize(message),
|
|
73
69
|
context: context,
|
|
74
70
|
status: status
|
|
75
|
-
}, this);
|
|
71
|
+
}, this, handlingStack);
|
|
76
72
|
}),
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
warn: function warn(message, messageContext, error) {
|
|
84
|
-
this.log(message, messageContext, StatusType.warn, error);
|
|
85
|
-
},
|
|
86
|
-
critical: function critical(message, messageContext, error) {
|
|
87
|
-
this.log(message, messageContext, StatusType.critical, error);
|
|
88
|
-
},
|
|
89
|
-
error: function error(message, messageContext, _error) {
|
|
90
|
-
var errorOrigin = {
|
|
91
|
-
error: {
|
|
92
|
-
origin: ErrorSource.LOGGER
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
this.log(message, extend2Lev(errorOrigin, messageContext), StatusType.error, _error);
|
|
73
|
+
log: function log(message, messageContext, status, error) {
|
|
74
|
+
var handlingStack;
|
|
75
|
+
if (isAuthorized(status, HandlerType.http, this)) {
|
|
76
|
+
handlingStack = createHandlingStack();
|
|
77
|
+
}
|
|
78
|
+
this.logImplementation(message, messageContext, status, error, handlingStack);
|
|
96
79
|
},
|
|
97
80
|
setContext: function setContext(context) {
|
|
98
|
-
this.contextManager.
|
|
81
|
+
this.contextManager.setContext(context);
|
|
99
82
|
},
|
|
100
83
|
getContext: function getContext() {
|
|
101
|
-
return this.contextManager.
|
|
84
|
+
return this.contextManager.getContext();
|
|
85
|
+
},
|
|
86
|
+
setContextProperty: function setContextProperty(key, value) {
|
|
87
|
+
this.contextManager.setContextProperty(key, value);
|
|
102
88
|
},
|
|
103
89
|
addContext: function addContext(key, value) {
|
|
104
|
-
this.contextManager.
|
|
90
|
+
this.contextManager.setContextProperty(key, value);
|
|
91
|
+
},
|
|
92
|
+
removeContextProperty: function removeContextProperty(key) {
|
|
93
|
+
this.contextManager.removeContextProperty(key);
|
|
105
94
|
},
|
|
106
95
|
removeContext: function removeContext(key) {
|
|
107
96
|
this.contextManager.remove(key);
|
|
@@ -122,4 +111,22 @@ Logger.prototype = {
|
|
|
122
111
|
return this.level;
|
|
123
112
|
}
|
|
124
113
|
};
|
|
114
|
+
Logger.prototype.ok = createLoggerMethod(StatusType.ok);
|
|
115
|
+
Logger.prototype.debug = createLoggerMethod(StatusType.debug);
|
|
116
|
+
Logger.prototype.info = createLoggerMethod(StatusType.info);
|
|
117
|
+
Logger.prototype.notice = createLoggerMethod(StatusType.notice);
|
|
118
|
+
Logger.prototype.warn = createLoggerMethod(StatusType.warn);
|
|
119
|
+
Logger.prototype.error = createLoggerMethod(StatusType.error);
|
|
120
|
+
Logger.prototype.critical = createLoggerMethod(StatusType.critical);
|
|
121
|
+
Logger.prototype.alert = createLoggerMethod(StatusType.alert);
|
|
122
|
+
Logger.prototype.emerg = createLoggerMethod(StatusType.emerg);
|
|
123
|
+
function createLoggerMethod(status) {
|
|
124
|
+
return function (message, messageContext, error) {
|
|
125
|
+
var handlingStack;
|
|
126
|
+
if (isAuthorized(status, HandlerType.http, this)) {
|
|
127
|
+
handlingStack = createHandlingStack();
|
|
128
|
+
}
|
|
129
|
+
this.logImplementation(message, messageContext, status, error, handlingStack);
|
|
130
|
+
};
|
|
131
|
+
}
|
|
125
132
|
//# sourceMappingURL=logger.js.map
|