UNPKG

@datadog/browser-logs

Version:
63 lines 5.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeLogsPublicApi = makeLogsPublicApi; const browser_core_1 = require("@datadog/browser-core"); const logger_1 = require("../domain/logger"); const commonContext_1 = require("../domain/contexts/commonContext"); const startLogs_1 = require("./startLogs"); const preStartLogs_1 = require("./preStartLogs"); function makeLogsPublicApi() { const trackingConsentState = (0, browser_core_1.createTrackingConsentState)(); const bufferedDataObservable = (0, browser_core_1.startBufferingData)().observable; let strategy = (0, preStartLogs_1.createPreStartStrategy)(commonContext_1.buildCommonContext, trackingConsentState, (initConfiguration, configuration, hooks) => { const startLogsResult = (0, browser_core_1.mockable)(startLogs_1.startLogs)(configuration, commonContext_1.buildCommonContext, trackingConsentState, bufferedDataObservable, hooks); strategy = createPostStartStrategy(initConfiguration, startLogsResult); return startLogsResult; }); const getStrategy = () => strategy; const customLoggers = {}; const mainLogger = new logger_1.Logger((...params) => strategy.handleLog(...params)); return (0, browser_core_1.makePublicApi)({ logger: mainLogger, init: (initConfiguration) => { const errorStack = new Error().stack; (0, browser_core_1.callMonitored)(() => strategy.init(initConfiguration, errorStack)); }, setTrackingConsent: (0, browser_core_1.monitor)((trackingConsent) => { trackingConsentState.update(trackingConsent); (0, browser_core_1.addTelemetryUsage)({ feature: 'set-tracking-consent', tracking_consent: trackingConsent }); }), getGlobalContext: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.globalContext, browser_core_1.ContextManagerMethod.getContext), setGlobalContext: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.globalContext, browser_core_1.ContextManagerMethod.setContext), setGlobalContextProperty: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.globalContext, browser_core_1.ContextManagerMethod.setContextProperty), removeGlobalContextProperty: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.globalContext, browser_core_1.ContextManagerMethod.removeContextProperty), clearGlobalContext: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.globalContext, browser_core_1.ContextManagerMethod.clearContext), createLogger: (0, browser_core_1.monitor)((name, conf = {}) => { customLoggers[name] = new logger_1.Logger((...params) => strategy.handleLog(...params), (0, browser_core_1.sanitize)(name), conf.handler, conf.level, (0, browser_core_1.sanitize)(conf.context)); return customLoggers[name]; }), getLogger: (0, browser_core_1.monitor)((name) => customLoggers[name]), getInitConfiguration: (0, browser_core_1.monitor)(() => (0, browser_core_1.deepClone)(strategy.initConfiguration)), getInternalContext: (0, browser_core_1.monitor)((startTime) => strategy.getInternalContext(startTime)), setUser: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.userContext, browser_core_1.ContextManagerMethod.setContext), getUser: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.userContext, browser_core_1.ContextManagerMethod.getContext), setUserProperty: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.userContext, browser_core_1.ContextManagerMethod.setContextProperty), removeUserProperty: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.userContext, browser_core_1.ContextManagerMethod.removeContextProperty), clearUser: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.userContext, browser_core_1.ContextManagerMethod.clearContext), setAccount: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.accountContext, browser_core_1.ContextManagerMethod.setContext), getAccount: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.accountContext, browser_core_1.ContextManagerMethod.getContext), setAccountProperty: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.accountContext, browser_core_1.ContextManagerMethod.setContextProperty), removeAccountProperty: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.accountContext, browser_core_1.ContextManagerMethod.removeContextProperty), clearAccount: (0, browser_core_1.defineContextMethod)(getStrategy, browser_core_1.CustomerContextKey.accountContext, browser_core_1.ContextManagerMethod.clearContext), }); } function createPostStartStrategy(initConfiguration, startLogsResult) { return { init: (initConfiguration) => { (0, browser_core_1.displayAlreadyInitializedError)('DD_LOGS', initConfiguration); }, initConfiguration, ...startLogsResult, }; } //# sourceMappingURL=logsPublicApi.js.map