UNPKG

@datadog/browser-logs

Version:
95 lines 3.71 kB
import { __assign } from "tslib"; import { areCookiesAuthorized, assign, checkIsNotLocalFile, commonInit, getGlobalObject, isPercentage, makeGlobal, makeStub, monitor, } from '@datadog/browser-core'; import { buildEnv } from './buildEnv'; import { startLogger } from './logger'; import { startLoggerSession } from './loggerSession'; var STUBBED_LOGGER = { debug: function (message, context) { makeStub('logs.logger.debug'); }, error: function (message, context) { makeStub('logs.logger.error'); }, info: function (message, context) { makeStub('logs.logger.info'); }, log: function (message, context, status) { makeStub('logs.logger.log'); }, warn: function (message, context) { makeStub('logs.logger.warn'); }, setContext: function (context) { makeStub('logs.logger.setContext'); }, addContext: function (key, value) { makeStub('logs.logger.addContext'); }, setHandler: function (handler) { makeStub('logs.logger.setHandler'); }, setLevel: function (level) { makeStub('logs.logger.setLevel'); }, }; var STUBBED_LOGS = { logger: STUBBED_LOGGER, init: function (userConfiguration) { makeStub('core.init'); }, addLoggerGlobalContext: function (key, value) { makeStub('addLoggerGlobalContext'); }, setLoggerGlobalContext: function (context) { makeStub('setLoggerGlobalContext'); }, createLogger: function (name, conf) { makeStub('createLogger'); return STUBBED_LOGGER; }, getLogger: function (name) { makeStub('getLogger'); return undefined; }, }; export var datadogLogs = makeLogsGlobal(STUBBED_LOGS); getGlobalObject().DD_LOGS = datadogLogs; export function makeLogsGlobal(stub) { var global = makeGlobal(stub); var isAlreadyInitialized = false; global.init = monitor(function (userConfiguration) { if (!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 = __assign(__assign({}, userConfiguration), { isCollectingError: isCollectingError }); var _a = commonInit(logsUserConfiguration, buildEnv), errorObservable = _a.errorObservable, configuration = _a.configuration, internalMonitoring = _a.internalMonitoring; var session = startLoggerSession(configuration, areCookiesAuthorized()); var globalApi = startLogger(errorObservable, configuration, session, internalMonitoring); 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 && !isPercentage(userConfiguration.sampleRate)) { console.error('Sample Rate should be a number between 0 and 100'); return false; } return true; } return global; } //# sourceMappingURL=logs.entry.js.map