UNPKG

4.19 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var tslib_1 = require("tslib");
4var browser_core_1 = require("@datadog/browser-core");
5var buildEnv_1 = require("./buildEnv");
6var logger_1 = require("./logger");
7var loggerSession_1 = require("./loggerSession");
8var STUBBED_LOGGER = {
9 debug: function (message, context) {
10 browser_core_1.makeStub('logs.logger.debug');
11 },
12 error: function (message, context) {
13 browser_core_1.makeStub('logs.logger.error');
14 },
15 info: function (message, context) {
16 browser_core_1.makeStub('logs.logger.info');
17 },
18 log: function (message, context, status) {
19 browser_core_1.makeStub('logs.logger.log');
20 },
21 warn: function (message, context) {
22 browser_core_1.makeStub('logs.logger.warn');
23 },
24 setContext: function (context) {
25 browser_core_1.makeStub('logs.logger.setContext');
26 },
27 addContext: function (key, value) {
28 browser_core_1.makeStub('logs.logger.addContext');
29 },
30 removeContext: function (key) {
31 browser_core_1.makeStub('logs.logger.removeContext');
32 },
33 setHandler: function (handler) {
34 browser_core_1.makeStub('logs.logger.setHandler');
35 },
36 setLevel: function (level) {
37 browser_core_1.makeStub('logs.logger.setLevel');
38 },
39};
40var STUBBED_LOGS = {
41 logger: STUBBED_LOGGER,
42 init: function (userConfiguration) {
43 browser_core_1.makeStub('core.init');
44 },
45 addLoggerGlobalContext: function (key, value) {
46 browser_core_1.makeStub('addLoggerGlobalContext');
47 },
48 setLoggerGlobalContext: function (context) {
49 browser_core_1.makeStub('setLoggerGlobalContext');
50 },
51 createLogger: function (name, conf) {
52 browser_core_1.makeStub('createLogger');
53 return STUBBED_LOGGER;
54 },
55 getLogger: function (name) {
56 browser_core_1.makeStub('getLogger');
57 return undefined;
58 },
59};
60exports.datadogLogs = makeLogsGlobal(STUBBED_LOGS);
61browser_core_1.getGlobalObject().DD_LOGS = exports.datadogLogs;
62function makeLogsGlobal(stub) {
63 var global = browser_core_1.makeGlobal(stub);
64 var isAlreadyInitialized = false;
65 global.init = browser_core_1.monitor(function (userConfiguration) {
66 if (!browser_core_1.checkIsNotLocalFile() || !canInitLogs(userConfiguration)) {
67 return;
68 }
69 if (userConfiguration.publicApiKey) {
70 userConfiguration.clientToken = userConfiguration.publicApiKey;
71 console.warn('Public API Key is deprecated. Please use Client Token instead.');
72 }
73 var isCollectingError = userConfiguration.forwardErrorsToLogs !== false;
74 var logsUserConfiguration = tslib_1.__assign(tslib_1.__assign({}, userConfiguration), { isCollectingError: isCollectingError });
75 var _a = browser_core_1.commonInit(logsUserConfiguration, buildEnv_1.buildEnv), errorObservable = _a.errorObservable, configuration = _a.configuration, internalMonitoring = _a.internalMonitoring;
76 var session = loggerSession_1.startLoggerSession(configuration, browser_core_1.areCookiesAuthorized());
77 var globalApi = logger_1.startLogger(errorObservable, configuration, session, internalMonitoring);
78 browser_core_1.assign(global, globalApi);
79 isAlreadyInitialized = true;
80 });
81 function canInitLogs(userConfiguration) {
82 if (isAlreadyInitialized) {
83 if (!userConfiguration.silentMultipleInit) {
84 console.error('DD_LOGS is already initialized.');
85 }
86 return false;
87 }
88 if (!userConfiguration || (!userConfiguration.publicApiKey && !userConfiguration.clientToken)) {
89 console.error('Client Token is not configured, we will not send any data.');
90 return false;
91 }
92 if (userConfiguration.sampleRate !== undefined && !browser_core_1.isPercentage(userConfiguration.sampleRate)) {
93 console.error('Sample Rate should be a number between 0 and 100');
94 return false;
95 }
96 return true;
97 }
98 return global;
99}
100exports.makeLogsGlobal = makeLogsGlobal;
101//# sourceMappingURL=logs.entry.js.map
\No newline at end of file