LoggerPro 2.1 Lanzado: Configuración JSON, ExeWatch, LogFmt y Mucho Más
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
MinimumLevelruntime - 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
GetCurrentLogFileNameen 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
- Repositorio GitHub
- Releases ZIP
- Issue Tracker
- Paquete BOSS
- Documentación LoggerPro 2.0 · Documentación LoggerPro 1.x
Feliz logging.
Comments
comments powered by Disqus