@datadog/browser-logs
Version:
49 lines • 2.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.startLoggerCollection = startLoggerCollection;
const browser_core_1 = require("@datadog/browser-core");
const logger_1 = require("../logger");
const isAuthorized_1 = require("./isAuthorized");
function startLoggerCollection(lifeCycle) {
function handleLog(logsMessage, logger, handlingStack, savedCommonContext, savedDate) {
const messageContext = (0, browser_core_1.combine)(logger.getContext(), logsMessage.context);
if ((0, isAuthorized_1.isAuthorized)(logsMessage.status, logger_1.HandlerType.console, logger)) {
displayInConsole(logsMessage, messageContext);
}
if ((0, isAuthorized_1.isAuthorized)(logsMessage.status, logger_1.HandlerType.http, logger)) {
const rawLogEventData = {
rawLogsEvent: {
date: savedDate || (0, browser_core_1.timeStampNow)(),
message: logsMessage.message,
status: logsMessage.status,
origin: browser_core_1.ErrorSource.LOGGER,
},
messageContext,
savedCommonContext,
ddtags: logger.getTags(),
};
if (handlingStack) {
rawLogEventData.domainContext = { handlingStack };
}
lifeCycle.notify(0 /* LifeCycleEventType.RAW_LOG_COLLECTED */, rawLogEventData);
}
}
return {
handleLog,
};
}
const loggerToConsoleApiName = {
[isAuthorized_1.StatusType.ok]: browser_core_1.ConsoleApiName.debug,
[isAuthorized_1.StatusType.debug]: browser_core_1.ConsoleApiName.debug,
[isAuthorized_1.StatusType.info]: browser_core_1.ConsoleApiName.info,
[isAuthorized_1.StatusType.notice]: browser_core_1.ConsoleApiName.info,
[isAuthorized_1.StatusType.warn]: browser_core_1.ConsoleApiName.warn,
[isAuthorized_1.StatusType.error]: browser_core_1.ConsoleApiName.error,
[isAuthorized_1.StatusType.critical]: browser_core_1.ConsoleApiName.error,
[isAuthorized_1.StatusType.alert]: browser_core_1.ConsoleApiName.error,
[isAuthorized_1.StatusType.emerg]: browser_core_1.ConsoleApiName.error,
};
function displayInConsole({ status, message }, messageContext) {
browser_core_1.originalConsoleMethods[loggerToConsoleApiName[status]].call(browser_core_1.globalConsole, message, messageContext);
}
//# sourceMappingURL=loggerCollection.js.map