Become a member!

LoggerPro 2.1 Lanzado: Configuración JSON, ExeWatch, LogFmt y Mucho Más

🌐
Este artículo también está disponible en otros idiomas:
🇬🇧 English  •  🇮🇹 Italiano  •  🇩🇪 Deutsch

LoggerPro 2.1

LoggerPro 2.1 ya está fuera. Si hasta ayer usabas la librería para un file appender y alguna salida por consola, prepárate - esta release convierte LoggerPro en un auténtico toolkit de observabilidad para Delphi. Y todo sigue siendo Apache 2.0, multiplataforma, retrocompatible con tu código 2.0.

📘 Salta directo a la documentación: LoggerPro 2.1 - La Guía Oficial → Cada feature de abajo está cubierta en profundidad, con ejemplos de código completos y esquemas de configuración JSON.


Qué Cambia - Los Puntos Destacados

🔧 Configuración JSON Sin Recompilar

Pon un loggerpro.json junto al EXE. Los operadores remodelan el pipeline de logging al desplegar - cambian backends, ajustan umbrales, añaden o quitan appenders - sin tocar el código Delphi. Dos entry points, según cuánto quieras estirarte:

// JSON puro → ILogWriter
Log := LoggerProFromJSONFile('loggerpro.json');

// Base JSON + encadenamiento en código (p. ej. appenders ligados a la UI)
Log := LoggerProBuilderFromJSONFile('loggerpro.json')
         .WriteToVCLMemo(Memo1).Done
         .Build;

La validación estricta del esquema significa que los typos fallan ruidosamente con mensajes diagnósticos que listan las alternativas válidas. Nada de deploys silenciosamente a medias.

📡 Observabilidad Cloud ExeWatch

Puente de primera clase hacia ExeWatch - el servicio de observabilidad cloud para aplicaciones desktop y backend. Logs, excepciones, breadcrumbs, info de dispositivo, todo lo que la investigación de un incidente en producción pide, con un dashboard que te ahorra hacer circular log files por email.

Conéctalo como prefieras - Builder fluido, imperativo NewExeWatchAppender, o JSON puro:

{
  "appenders": [
    { "type": "Console" },
    {
      "type": "ExeWatch",
      "apiKey": "ew_win_xxxxxx",
      "customerId": "Acme Corp",
      "appVersion": "2.3.1"
    }
  ]
}

Sin init manual del SDK - el appender se encarga solo en Setup.

🏷️ LogFmt - Salida Greppable, Loki-Friendly

Un renderer LogFmt conforme a la especificación se une a la familia. Salida una línea por evento, pares clave=valor separados por espacios, valores seguros al desnudo y valores inseguros entre comillas:

time=2026-04-18T12:30:45.123Z threadid=7932 type=INFO msg="order placed" tag=ORDERS order_id=42 amount=99.95 paid=true

Consultable nativamente con Grafana Loki, humanlog, ripgrep, Vector, Promtail, Fluent Bit. Tailéalo en Windows con Get-Content -Wait | rg ERROR y tienes un stack de observabilidad de pobre en una sola línea de PowerShell.

🌐 Visor de Logs HTML Listo para Navegador

Un archivo .html autocontenido con barra de filtros pegajosa, coloreo por nivel, búsqueda full-text, export CSV/JSON y live tailing. Entrégalo a QA o soporte y tienen un artefacto de troubleshooting compacto y offline - sin servidor, sin activos externos, sin setup.

🏢 FileBySource - Logs Por Tenant, Por Fin

Un nuevo appender que escribe en subcarpetas por fuente (piensa por tenant, por cliente, por servicio). Rotación día + tamaño, retención por días, limpieza automática de carpetas vacías. Acompañado de WithDefaultContext en un sub-logger, cada conexión obtiene su propio flujo de logs aislado sin repetir la fuente en cada llamada.

Y Más

  • Salida UTF-8 en consola con WithUTF8Output - se acabaron los CJK, Cirílico o emoji destrozados en contenedores Docker y consolas Windows
  • Inicialización DLL-safe - el deadlock del Windows Loader Lock cuando LoggerPro corre dentro de una DLL se ha ido
  • Autenticación ElasticSearch - Basic Auth, API Key, Bearer Token
  • MinimumLevel runtime - cambia el gate global en tiempo de ejecución, sin cast
  • Opción local time para UDP Syslog - para servidores on-prem que esperan hora local en vez del UTC de RFC 5424
  • API GetCurrentLogFileName en los file appenders - útil para flujos de upload, email o reinicio

Por Qué Importa

Delphi tiene librerías de logging desde hace veinte años. Lo que 2.1 acierta es alinearse con cómo el resto de la industria entrega telemetría en 2026:

  • LogFmt y JSONL para salida estructurada, greppable, machine-friendly
  • Configuración JSON para flexibilidad al desplegar sin rebuild
  • Observabilidad cloud vía ExeWatch sin escribir una sola llamada HTTP
  • Artefactos HTML autocontenidos para escenarios de soporte human-friendly

Juntos, llevan una aplicación Delphi a la misma huella operativa que tendría un servicio .NET o Go - con el código Object Pascal que ya conoces.


Ruta de Upgrade

2.0 → 2.1 es un upgrade drop-in. El único cambio rompedor es el renombrado de WriteToHTTP a WriteToWebhook (un find-and-replace lo arregla). Todo lo demás es aditivo. Tus cadenas Builder 2.0 siguen compilando; tus appenders y renderers existentes siguen funcionando.

Delphi mínimo: 10.2 Tokyo. Probado hasta Delphi 13 Florence. Corre en Windows, Linux, macOS, Android, iOS.


Empieza Aquí

📘 LoggerPro 2.1 — La Guía Oficial →

La guía cubre cada feature de arriba con ejemplos de código funcionales, esquemas de configuración JSON, walkthroughs diagnósticos de errores, recetas de consulta para la salida LogFmt y una referencia completa de appenders built-in.

🔗 Enlaces

Feliz logging.

Comments

comments powered by Disqus