Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | /**
* @module Logger
* @category Utilities - Logging
*
* @description
* Debug logger utility gated behind `?debug` URL parameter.
* In production, only warnings and errors are emitted.
* Enable debug output by appending `?debug` to the page URL.
*
* @example
* // Enable debug logging:
* // https://riksdagsmonitor.com/?debug
*
* import { logger } from './logger.js';
* logger.debug('Loading CSV:', filename);
* logger.error('Failed to load:', error);
*
* @author Hack23 AB
* @license Apache-2.0
*/
const DEBUG = typeof window !== 'undefined' &&
new URLSearchParams(window.location.search).has('debug');
/**
* Structured logger with debug gating.
* debug/info messages are suppressed unless ?debug is present in the URL.
*/
export const logger = {
/**
* Log a debug message (only visible with ?debug URL parameter).
* @param {...*} args - Arguments to log
*/
debug(...args) {
if (DEBUG) {
console.log('[DEBUG]', ...args);
}
},
/**
* Log an info message (only visible with ?debug URL parameter).
* @param {...*} args - Arguments to log
*/
info(...args) {
if (DEBUG) {
console.info('[INFO]', ...args);
}
},
/**
* Log a warning (always visible).
* @param {...*} args - Arguments to log
*/
warn(...args) {
console.warn('[WARN]', ...args);
},
/**
* Log an error (always visible).
* @param {...*} args - Arguments to log
*/
error(...args) {
console.error('[ERROR]', ...args);
}
};
|