WME PLN Module - Logger

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

08.09.2025 itibariyledir. En son verisyonu görün.

Bu script direkt olarak kurulamaz. Başka scriptler için bir kütüphanedir ve meta yönergeleri içerir // @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