rittenhop-dev/versions/5.94.2/node_modules/@sentry/utils/esm/instrument/console.js

44 lines
1.2 KiB
JavaScript
Raw Normal View History

2024-09-23 19:40:12 -04:00
import { CONSOLE_LEVELS, originalConsoleMethods } from '../logger.js';
import { fill } from '../object.js';
import { GLOBAL_OBJ } from '../worldwide.js';
import { addHandler, maybeInstrument, triggerHandlers } from './_handlers.js';
/**
* Add an instrumentation handler for when a console.xxx method is called.
*
* Use at your own risk, this might break without changelog notice, only used internally.
* @hidden
*/
function addConsoleInstrumentationHandler(handler) {
const type = 'console';
addHandler(type, handler);
maybeInstrument(type, instrumentConsole);
}
function instrumentConsole() {
if (!('console' in GLOBAL_OBJ)) {
return;
}
CONSOLE_LEVELS.forEach(function (level) {
if (!(level in GLOBAL_OBJ.console)) {
return;
}
fill(GLOBAL_OBJ.console, level, function (originalConsoleMethod) {
originalConsoleMethods[level] = originalConsoleMethod;
return function (...args) {
const handlerData = { args, level };
triggerHandlers('console', handlerData);
const log = originalConsoleMethods[level];
log && log.apply(GLOBAL_OBJ.console, args);
};
});
});
}
export { addConsoleInstrumentationHandler };
//# sourceMappingURL=console.js.map