Files
klz-cables.com/.pnpm-store/v10/files/1a/ea1109128c93b20e8471bf77c0bbc9f80c96a937ca02e970c3850c11a9824f97379ced324ebcdd05ad0f9a9e57df477d30a3fece5dcb3e84d1eb5799d8a1c9
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

120 lines
2.4 KiB
Plaintext

import { getGlobalSingleton } from '../carrier.js';
import { DEBUG_BUILD } from '../debug-build.js';
import { GLOBAL_OBJ } from './worldwide.js';
const CONSOLE_LEVELS = [
'debug',
'info',
'warn',
'error',
'log',
'assert',
'trace',
] ;
/** Prefix for logging strings */
const PREFIX = 'Sentry Logger ';
/** This may be mutated by the console instrumentation. */
const originalConsoleMethods
= {};
/**
* 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 GLOBAL_OBJ)) {
return callback();
}
const console = 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 enable() {
_getLoggerSettings().enabled = true;
}
function disable() {
_getLoggerSettings().enabled = false;
}
function isEnabled() {
return _getLoggerSettings().enabled;
}
function log(...args) {
_maybeLog('log', ...args);
}
function warn(...args) {
_maybeLog('warn', ...args);
}
function error(...args) {
_maybeLog('error', ...args);
}
function _maybeLog(level, ...args) {
if (!DEBUG_BUILD) {
return;
}
if (isEnabled()) {
consoleSandbox(() => {
GLOBAL_OBJ.console[level](`${PREFIX}[${level}]:`, ...args);
});
}
}
function _getLoggerSettings() {
if (!DEBUG_BUILD) {
return { enabled: false };
}
return getGlobalSingleton('loggerSettings', () => ({ enabled: false }));
}
/**
* This is a logger singleton which either logs things or no-ops if logging is not enabled.
*/
const debug = {
/** Enable logging. */
enable,
/** Disable logging. */
disable,
/** Check if logging is enabled. */
isEnabled,
/** Log a message. */
log,
/** Log a warning. */
warn,
/** Log an error. */
error,
} ;
export { CONSOLE_LEVELS, consoleSandbox, debug, originalConsoleMethods };
//# sourceMappingURL=debug-logger.js.map