WME PLN Module - Logger

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

Verzia zo dňa 08.09.2025. Pozri najnovšiu verziu.

Tento skript by nemal byť nainštalovaný priamo. Je to knižnica pre ďalšie skripty, ktorú by mali používať cez meta príkaz // @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