@datadog/browser-logs
Version:
39 lines • 1.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LogStatusForApi = void 0;
exports.startConsoleCollection = startConsoleCollection;
const browser_core_1 = require("@datadog/browser-core");
const isAuthorized_1 = require("../logger/isAuthorized");
const createErrorFieldFromRawError_1 = require("../createErrorFieldFromRawError");
exports.LogStatusForApi = {
[browser_core_1.ConsoleApiName.log]: isAuthorized_1.StatusType.info,
[browser_core_1.ConsoleApiName.debug]: isAuthorized_1.StatusType.debug,
[browser_core_1.ConsoleApiName.info]: isAuthorized_1.StatusType.info,
[browser_core_1.ConsoleApiName.warn]: isAuthorized_1.StatusType.warn,
[browser_core_1.ConsoleApiName.error]: isAuthorized_1.StatusType.error,
};
function startConsoleCollection(configuration, lifeCycle) {
const consoleSubscription = (0, browser_core_1.initConsoleObservable)(configuration.forwardConsoleLogs).subscribe((log) => {
var _a;
const collectedData = {
rawLogsEvent: {
date: (0, browser_core_1.timeStampNow)(),
message: log.message,
origin: browser_core_1.ErrorSource.CONSOLE,
error: log.error && (0, createErrorFieldFromRawError_1.createErrorFieldFromRawError)(log.error),
status: exports.LogStatusForApi[log.api],
},
messageContext: (_a = log.error) === null || _a === void 0 ? void 0 : _a.context,
domainContext: {
handlingStack: log.handlingStack,
},
};
lifeCycle.notify(0 /* LifeCycleEventType.RAW_LOG_COLLECTED */, collectedData);
});
return {
stop: () => {
consoleSubscription.unsubscribe();
},
};
}
//# sourceMappingURL=consoleCollection.js.map