WME PLN Module - Logger

Módulo de logging para WME Place Normalizer. No funciona por sí solo.

Version vom 08.09.2025. Aktuellste Version

Dieses Skript sollte nicht direkt installiert werden. Es handelt sich hier um eine Bibliothek für andere Skripte, welche über folgenden Befehl in den Metadaten eines Skriptes eingebunden wird // @require https://update.greasyfork.org/scripts/548863/1657344/WME%20PLN%20Module%20-%20Logger.js

// ==UserScript==
// @name         WME PLN Module - Logger
// @namespace    https://greasyfork.org/en/users/mincho77
// @version      9.0.0
// @description  Módulo de logging para WME Place Normalizer. No funciona por sí solo.
// @author       mincho77
// @license      MIT
// @grant        none
// ==/UserScript==
// Este objeto global controlará todos los logs del script.
window.PLN_LOG_CONFIG = {
    global_enabled: true, // Interruptor principal para todos los logs.
    contexts: {
        'init': true,       // Logs de inicialización del script.
        'scan': false,      // Logs detallados durante el escaneo de lugares.
        'normalize': false, // Trazas del proceso de normalización de nombres.
        'swap': false,      // Logs específicos del motor de "swap".
        'ui': true,         // Logs de creación y eventos de la interfaz.
        'city': false,      // Logs del proceso de "Aplicar Ciudad".
        'sdk': false,       // Logs de interacción con el WME SDK.
        'error': true       // Siempre mostrar errores.
    }
};

// Función de logging que respeta la configuración global y por contexto.
function plnLog(context, ...args) 
{
    // No hacer nada si el log global está deshabilitado y no es un error.
    if (!PLN_LOG_CONFIG.global_enabled && context !== 'error') 
    {
        return;
    }

    // Verificar si el contexto específico está habilitado.
    if (PLN_LOG_CONFIG.contexts[context] === true) 
    {
        const logFunction = context === 'error' ? console.error : console.log;
        logFunction(`[WME PLN][${context}]`, ...args);
    }
}//plnLog