/** * Logger conditionnel pour la production * Remplace console.log/info/warn/error par des fonctions conditionnelles * En production, seuls les erreurs critiques sont loggées */ interface Logger { debug: (...args: unknown[]) => void; info: (...args: unknown[]) => void; warn: (...args: unknown[]) => void; error: (...args: unknown[]) => void; } const isDev = import.meta.env.DEV; const isProd = import.meta.env.PROD; /** * Logger conditionnel qui filtre les logs selon l'environnement */ export const logger: Logger = { debug: (...args: unknown[]) => { if (isDev) { console.debug('[DEBUG]', ...args); } }, info: (...args: unknown[]) => { if (isDev) { console.info('[INFO]', ...args); } }, warn: (...args: unknown[]) => { // Warnings toujours loggés, mais avec préfixe en prod if (isProd) { console.warn('[WARN]', ...args); } else { console.warn('[WARN]', ...args); } }, error: (...args: unknown[]) => { // Erreurs toujours loggées en production pour le debugging console.error('[ERROR]', ...args); }, }; /** * Export par défaut pour faciliter l'import */ export default logger;