WME PLN Module - Logger

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

目前為 2025-09-08 提交的版本,檢視 最新版本

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.cn-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