12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 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
|