/** * Verbose-Logging-Toggle: console.log laesst sich global stummschalten. * console.warn/console.error bleiben immer an — Fehler will man immer sehen. * * Default: an (true). Toggle ueber Settings → Protokoll → Verbose Logging. * Beim Start wird der gespeicherte Wert geladen, vorher loggen wir normal. */ import AsyncStorage from '@react-native-async-storage/async-storage'; export const VERBOSE_LOGGING_KEY = 'aria_verbose_logging'; // Original-console.log retten, damit wir die Wrapper jederzeit wieder // "scharf" stellen koennen (sonst waere ein Toggle-an nach -aus tot). const originalLog = console.log.bind(console); const noop = () => {}; let _verbose = true; function applyState(): void { console.log = _verbose ? originalLog : noop; } /** Wert aus AsyncStorage laden und anwenden. Beim App-Start aufrufen. */ export async function initLogger(): Promise { try { const v = await AsyncStorage.getItem(VERBOSE_LOGGING_KEY); _verbose = v !== 'false'; // default: true } catch {} applyState(); } export function isVerboseLogging(): boolean { return _verbose; } export function setVerboseLogging(verbose: boolean): void { _verbose = verbose; applyState(); AsyncStorage.setItem(VERBOSE_LOGGING_KEY, String(verbose)).catch(() => {}); }