12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- Object.defineProperty(exports, '__esModule', { value: true });
- const debugBuild = require('./debug-build.js');
- const worldwide = require('./worldwide.js');
- /** Prefix for logging strings */
- const PREFIX = 'Sentry Logger ';
- const CONSOLE_LEVELS = [
- 'debug',
- 'info',
- 'warn',
- 'error',
- 'log',
- 'assert',
- 'trace',
- ] ;
- /** This may be mutated by the console instrumentation. */
- const originalConsoleMethods
- = {};
- /** JSDoc */
- /**
- * Temporarily disable sentry console instrumentations.
- *
- * @param callback The function to run against the original `console` messages
- * @returns The results of the callback
- */
- function consoleSandbox(callback) {
- if (!('console' in worldwide.GLOBAL_OBJ)) {
- return callback();
- }
- const console = worldwide.GLOBAL_OBJ.console ;
- const wrappedFuncs = {};
- const wrappedLevels = Object.keys(originalConsoleMethods) ;
- // Restore all wrapped console methods
- wrappedLevels.forEach(level => {
- const originalConsoleMethod = originalConsoleMethods[level] ;
- wrappedFuncs[level] = console[level] ;
- console[level] = originalConsoleMethod;
- });
- try {
- return callback();
- } finally {
- // Revert restoration to wrapped state
- wrappedLevels.forEach(level => {
- console[level] = wrappedFuncs[level] ;
- });
- }
- }
- function makeLogger() {
- let enabled = false;
- const logger = {
- enable: () => {
- enabled = true;
- },
- disable: () => {
- enabled = false;
- },
- isEnabled: () => enabled,
- };
- if (debugBuild.DEBUG_BUILD) {
- CONSOLE_LEVELS.forEach(name => {
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- logger[name] = (...args) => {
- if (enabled) {
- consoleSandbox(() => {
- worldwide.GLOBAL_OBJ.console[name](`${PREFIX}[${name}]:`, ...args);
- });
- }
- };
- });
- } else {
- CONSOLE_LEVELS.forEach(name => {
- logger[name] = () => undefined;
- });
- }
- return logger ;
- }
- const logger = makeLogger();
- exports.CONSOLE_LEVELS = CONSOLE_LEVELS;
- exports.consoleSandbox = consoleSandbox;
- exports.logger = logger;
- exports.originalConsoleMethods = originalConsoleMethods;
- //# sourceMappingURL=logger.js.map
|