UNPKG

@datadog/browser-logs

Version:
98 lines 4.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var browser_core_1 = require("@datadog/browser-core"); var buildEnv_1 = require("./buildEnv"); var logger_1 = require("./logger"); var loggerSession_1 = require("./loggerSession"); var STUBBED_LOGGER = { debug: function (message, context) { browser_core_1.makeStub('logs.logger.debug'); }, error: function (message, context) { browser_core_1.makeStub('logs.logger.error'); }, info: function (message, context) { browser_core_1.makeStub('logs.logger.info'); }, log: function (message, context, status) { browser_core_1.makeStub('logs.logger.log'); }, warn: function (message, context) { browser_core_1.makeStub('logs.logger.warn'); }, setContext: function (context) { browser_core_1.makeStub('logs.logger.setContext'); }, addContext: function (key, value) { browser_core_1.makeStub('logs.logger.addContext'); }, setHandler: function (handler) { browser_core_1.makeStub('logs.logger.setHandler'); }, setLevel: function (level) { browser_core_1.makeStub('logs.logger.setLevel'); }, }; var STUBBED_LOGS = { logger: STUBBED_LOGGER, init: function (userConfiguration) { browser_core_1.makeStub('core.init'); }, addLoggerGlobalContext: function (key, value) { browser_core_1.makeStub('addLoggerGlobalContext'); }, setLoggerGlobalContext: function (context) { browser_core_1.makeStub('setLoggerGlobalContext'); }, createLogger: function (name, conf) { browser_core_1.makeStub('createLogger'); return STUBBED_LOGGER; }, getLogger: function (name) { browser_core_1.makeStub('getLogger'); return undefined; }, }; exports.datadogLogs = makeLogsGlobal(STUBBED_LOGS); browser_core_1.getGlobalObject().DD_LOGS = exports.datadogLogs; function makeLogsGlobal(stub) { var global = browser_core_1.makeGlobal(stub); var isAlreadyInitialized = false; global.init = browser_core_1.monitor(function (userConfiguration) { if (!browser_core_1.checkIsNotLocalFile() || !canInitLogs(userConfiguration)) { return; } if (userConfiguration.publicApiKey) { userConfiguration.clientToken = userConfiguration.publicApiKey; console.warn('Public API Key is deprecated. Please use Client Token instead.'); } var isCollectingError = userConfiguration.forwardErrorsToLogs !== false; var logsUserConfiguration = tslib_1.__assign(tslib_1.__assign({}, userConfiguration), { isCollectingError: isCollectingError }); var _a = browser_core_1.commonInit(logsUserConfiguration, buildEnv_1.buildEnv), errorObservable = _a.errorObservable, configuration = _a.configuration, internalMonitoring = _a.internalMonitoring; var session = loggerSession_1.startLoggerSession(configuration, browser_core_1.areCookiesAuthorized()); var globalApi = logger_1.startLogger(errorObservable, configuration, session, internalMonitoring); browser_core_1.assign(global, globalApi); isAlreadyInitialized = true; }); function canInitLogs(userConfiguration) { if (isAlreadyInitialized) { if (!userConfiguration.silentMultipleInit) { console.error('DD_LOGS is already initialized.'); } return false; } if (!userConfiguration || (!userConfiguration.publicApiKey && !userConfiguration.clientToken)) { console.error('Client Token is not configured, we will not send any data.'); return false; } if (userConfiguration.sampleRate !== undefined && !browser_core_1.isPercentage(userConfiguration.sampleRate)) { console.error('Sample Rate should be a number between 0 and 100'); return false; } return true; } return global; } exports.makeLogsGlobal = makeLogsGlobal; //# sourceMappingURL=logs.entry.js.map